Сохраните вывод команды в файле MS-DOS 1.икс

Кажется,[COMMAND]>[FILE] не работает в ранних версиях MS-DOS. Я использую MS-DOS 1.25, и приведенное выше выражение дает оператор invalid argument.

обновление: так как это правда, что он не работает в DOS 1.x тогда можно получить этот вывод, используя некоторую функциональность virtual box или, скажем, получив вывод из некоторых файлов журнала.

16
задан Blake
10.01.2023 23:45 Количество просмотров материала 3443
Распечатать страницу

3 ответа

вы можете использовать свои средства отладки виртуальной машины (или gdb/что-то еще) для прямого чтения памяти. ms-dos не имеет никакое предохранение от памяти ни многозадачная система, поэтому вы можете прочитать память виртуальной машины, вас можете прочитать VGA виртуальной машины для входного сигнала.

документация говорит, что существует команда

info vgatext -- print the contents of the VGA framebuffer formatted as standard text mode

правильный синтаксис для получения вывода: беги VirtualBox --debug --startvm msdos1.25, затем в консоли отладчика : info vgatext

при копировании вывод:

The COMPAQ Personal Computer DOS                                                
Version 1.11                                                                    


(C) Copyright COMPAQ Computer Corp. 1982                                        
(C) Copyright Microsoft 1981, 82                                                


A>                                                                              











--------------------------------------------------------------------------------
VBoxDbg> 

Так, вы можете написать отладчик сценариев, который крючки на значение памяти в вашей памяти программы и дампы VGA экрана, когда программа делает вывода / или вы можете написать скрипт, который приостанавливает процессора, экономит контент последовательно, если выхода изменений, сохраняет обновляемый контент, по-прежнему процессора

некоторые варианты для изучения:

  • найти Как написать скрипт отладки для сброса содержимого памяти вашего применение

  • найти некоторые отладки VGA драйвер / последовательный порт / памяти демпинг решение для quemu/dosbox / virtualbox

  • найдите какую-нибудь старую утилиту из 80-х, которую, возможно, кто-то написал для этой цели

  • добавить тег freedos здесь (или даже переместить / повторить свой вопрос на big stackoverflow, я полагаю, что некоторые гуру должны знать что-то о таких проблемах, как это

я обновлю позже если я нахожу что-то интересное, но не могли бы вы рассказать некоторые подробности о том, почему вы используете 1.25, работает ли эта программа на новых версиях msdos? Бьюсь об заклад, вы можете найти какой-то молодой хакер сборки стремятся залатать эту программу к новой версии (или добавить вывод файла с asm) за небольшую плату

5
отвечен strangeqargo 2023-01-12 07:33

похоже, что [COMMAND]>[FILE] не работает в ранних версиях MS-DOS.

Я использую MS-DOS 1.25 и приведенное выше выражение дает оператор недопустимый аргумент

это правильно. То, что вы хотите сделать, невозможно в v1.25.

перенаправление команд (наряду со многими другими улучшениями) был добавлен в v2.0.

MS-DOS версии 2.0 (эквивалент PC-DOS 2.0) был впервые выпущен в марте 1983. Она была, оглядываясь назад, новая операционная система (хотя для поддержания совместимости с MS-DOS версии 1). Он содержал много значительные нововведения и расширенные функции, в том числе перечисленные последующая страница.

  • поддержка как дискет большой емкости, так и жестких дисков
  • многие UNIX / XENIX-подобные функции, включая иерархическую файловую структуру, дескрипторы файлов, перенаправление ввода-вывода, каналы и фильтры
  • фоновая печать (печати)
  • метки томов и дополнительные атрибуты файлов
  • устанавливаемые драйверы устройств
  • настраиваемый пользователем файл конфигурации системы, контролирующий загрузку дополнительных драйверов устройств, количество системных дисков буферы и так далее
  • обслуживание блоков окружения, которые могут использоваться для передачи информации между программами
  • An опционный водитель дисплея ANSI который позволил программам расположить характеристики дисплея стрелки и управления в A аппаратно-независимый способ
  • поддержка динамического выделения, модификации и освобождения памяти прикладными программами
  • поддержка пользовательских интерпретаторов команд (оболочек)
  • системные таблицы, чтобы помочь прикладному программному обеспечению в изменении его валюты, времени и форматов даты (известный как международная поддержка)

Source расширенный MS-DOS Программирование Рэй Дункан


Что я могу сделать вместо этого?

возможный обходной путь должен был бы захватить экран (как текст) и проанализировать выходные данные.

ответы на этот вопрос захват экрана в DOS перечислите некоторые программы TSR (прекратить, но остаться резидентом), которые являются отправными точками для вас, чтобы исследовать.

40
отвечен DavidPostill 2023-01-12 09:50

вы можете установить C и написать программу, которая будет принимать команды dos, запускать их в оболочке и записывать результаты. Я бы рекомендовал использовать Borland Turbo C 2.01. Вы также можете написать код в Quickbasic, если вы хотите написать код... ; -)

https://archive.org/details/msdos_borland_turbo_c_2.01

лично я бы использовал DOS 5.5 или 6, Учитывая, что есть несколько дополнительных вещей, которые вы получите.

-3
отвечен Gandolf989 2023-01-12 12:07

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх