Wygląda na to, że [COMMAND]>[FILE]
nie działa we wczesnych wersjach MS-DOS. Korzystam z MS-DOS 1.25 i powyższe wyrażenie podaje to zdanie invalid argument
.
Aktualizacja : Ponieważ prawdą jest, że nie działa w systemie DOS 1.x, możliwe jest uzyskanie tego wyniku przy użyciu niektórych funkcji wirtualnego boxa lub powiedzmy, otrzymując dane wyjściowe z niektórych plików dziennika.
Odpowiedzi:
możesz użyć narzędzi do debugowania maszyny wirtualnej (lub gdb / czegoś innego) do bezpośredniego odczytu pamięci. ms-dos nie ma ochrony pamięci ani nie jest systemem wielozadaniowym, więc możesz odczytać pamięć maszyny wirtualnej, możesz odczytać vga maszyny wirtualnej do wprowadzenia.
dokumentacja mówi, że istnieje polecenie
info vgatext -- print the contents of the VGA framebuffer formatted as standard text mode
poprawna składnia do uzyskania danych wyjściowych to: uruchom
VirtualBox --debug --startvm msdos1.25
, a następnie w konsoli debuggera:info vgatext
wyniki wklejania kopii:
Możesz więc napisać skrypt debugera, który zaczepia o wartość pamięci w pamięci programu i zrzuca ekran vga, gdy program wysyła dane wyjściowe / lub możesz napisać skrypt, który wstrzymuje procesor, konsekwentnie zapisuje zawartość, jeśli zmiany danych wyjściowych, zapisuje zaktualizowaną treść, kontynuuje uruchom procesor
Niektóre opcje do zbadania to:
dowiedz się, jak napisać skrypt debugowania w celu zrzucenia zawartości pamięci aplikacji
znaleźć jakieś rozwiązanie debugowania sterownika vga / portu szeregowego / zrzutu pamięci dla quemu / dosbox / virtualbox
znajdź jakiś stary program narzędziowy z lat 80., który może ktoś tam napisał w tym celu
dodaj tutaj tag freedos (lub nawet przenieś / powtórz pytanie na dużym przepełnieniu stosu, przypuszczam, że niektórzy guru powinni wiedzieć coś o takich problemach
Będę aktualizować później, jeśli znajdę coś interesującego, ale czy możesz ujawnić niektóre szczegóły, dlaczego używasz 1.25, czy ten program działa na nowszych wersjach msdos? Założę się, że możesz znaleźć młodego hakera montażu, który chciałby załatać ten program do nowszej wersji (lub dodać plik wyjściowy z asmem) za niewielką opłatą
źródło
info vgatext
wszystko, wszystko co musisz zrobić, to napisać poprawny skrypt do debuggera, wydaje sięWygląda na to, że [POLECENIE]> [PLIK] nie działa we wczesnych wersjach MS-DOS.
To jest poprawne. To, co chcesz zrobić, nie jest możliwe w wersji 1.25.
W wersji 2.0 dodano przekierowanie poleceń (wraz z wieloma innymi ulepszeniami).
Źródło Zaawansowane programowanie MS-DOS autorstwa Ray Duncan
Co mogę zamiast tego zrobić?
Możliwym obejściem byłoby przechwycenie ekranu (jako tekstu) i parsowanie wyników.
Odpowiedzi na to pytanie Zrzut ekranu w systemie DOS zawiera listę programów TSR (Zakończ, ale zostań rezydentem), które są punktami wyjścia do zbadania.
źródło
Możesz zainstalować C i napisać program, który pobierze polecenia dos, uruchom je w powłoce i zapisz wyniki. Polecam korzystanie z Borland Turbo C 2.01. Możesz także napisać kod w Quickbasic, jeśli chcesz napisać kod ... ;-)
https://archive.org/details/msdos_borland_turbo_c_2.01
Osobiście użyłbym DOS 5.5 lub 6, biorąc pod uwagę, że dostaniesz kilka dodatkowych rzeczy.
źródło