Как вы делаете MSDOS .com файл? - PullRequest
2 голосов
/ 24 июня 2011

Как сделать файл .com для MS-DOS?У меня есть своя «операционная система», PowerOS, и я хочу, чтобы можно было вводить пользовательские команды.Есть ли способ написать .com файл?

Ответы [ 3 ]

2 голосов
/ 28 июня 2014

Я знаю, что для Windows 7 и, скорее всего, для других ОС Windows, вы можете написать .bat, .exe или .com и поместить его в папку windows / system32. Этот файл можно использовать в качестве команды из командной строки, просто введя имя команды, которую вы сделали.

Чтобы получить параметры командной строки, пакетный файл может использовать переменные% 1,% 2,% 3 и т. Д. Команда работает как любая другая команда и может использоваться для дальнейшей записи пакетных файлов с ней.

Что касается MS-DOS, вы можете поместить один из этих типов файлов в корневой каталог или найти расположение других команд и поместить его туда. Я не уверен, требуется ли COM-файл, но если это так, существуют конвертеры пакетов в com, такие как этот старый: Конвертер из партии в ком

2 голосов
/ 25 июня 2011

Ответ довольно прост.Вы создаете файл .COM, содержащий образ программы MS / PC / DR-DOS, написав программу на языке программирования и скомпилировав ее с помощью компилятора, предназначенного для MS / PC / DR-DOS.Вот и все.

Не запутайтесь в расширениях файлов.Существует .COM файл образа программы формат , который является довольно простым форматом образа программы.Он был заменен форматом изображения программы "MZ" еще в 1980-х годах.Но это не имеет ничего общего с расширением имени файла.Файл образа программы для MS / PC / DR-DOS может иметь расширение .COM или расширение .EXE, но фактический файл образа в формате не определяется этим.(Я упоминаю DR-DOS. Если память работает правильно: в версии 6 DR-DOS практически все файлы образов программы, даже файлы с именем .COM, на самом деле были исполняемыми файлами формата MZ, причем сжаты.)

То, что вы делаете, зависит от того, какие форматы файлов образов программы способен понять загрузчик программ вашей операционной системы.И действительно, только вы могут сказать это миру.Если загрузчик программ вашей операционной системы понимает формат исполняемых файлов «MZ», а программы, работающие в вашей операционной системе, являются 16-разрядными и работают в реальном режиме, то компиляция команд для вашей операционной системы так же проста (игнорирование системного вызова и библиотекипроблемы), как, скажем, запуск 16-битного компилятора + компоновщика OpenWatcom , wcl, и указание его для MS / PC / DR-DOS с опцией -bcl=DOS.

Конечно, если ваши программы 32-битные и ваша операционная система запускает их в защищенном режиме, или даже если ваши программы 16-битные, а ваша операционная система запускает их в защищенном режиме, тогда формат файла "MZ" будетбыть неподходящим для ваших нужд, и вы должны использовать один из нескольких альтернативных форматов файлов образов программ .

0 голосов
/ 08 июля 2019

Вы можете создать файл .bat и вставить этот код для создания пользовательских команд, например:

@echo off

set /p command=

if %command% == 

в коде введите свою команду в конце и то, что вы будете делать.

Вы можете скопировать команду if, чтобы добавить больше команд

...