.CMD вариант №
Файл CMD состоит из сценария, содержащего одну или несколько команд в виде обычного текста, которые запускаются для выполнения различных задач. Он похож на файл BAT, который также обычно используется для хранения пакета исполняемых команд. Файлы CMD широко используются в операционной системе Microsoft Windows. Эти файлы были представлены почти в 90-х годах, но до сих пор используются в последней версии операционной системы Windows. Эти файлы обычно записываются для выполнения более одной команды в последовательности.
Формат файла CMD
CMD — это формат файла, используемый исполняемыми программами в стиле CP/M. В целом это сопоставимо с COM в CP/M-80 и EXE в DOS. Файл CMD содержит от 1 до 8 групп кода или данных и 128-байтовый заголовок. Каждая группа может иметь размер до 1 мб. Файлы CMD также могут содержать информацию о перемещении и расширения резидентной системы (RSX) в более поздних версиях. CMD является новичком по сравнению с файлом BAT; использовался для MS-DOS до выпуска Windows В MS-DOS. Хотя сегодня вы все еще можете сохранять файлы с расширением .bat, многие люди используют расширение .cmd для сохранения своих исполняемых скриптов.
Спецификация формата CMD
Начало заголовка содержит список групп, присутствующих в файле, вместе с их типами. Каждый тип можно использовать не более одного раза. Эти типы:
- Код
- Данные
- Дополнительный
- Куча
- Пользователь 1
- Пользователь 2
- Пользователь 3
- Пользователь 4
- Общий код
Аналогично префиксу сегмента программы в DOS, первые 256 байтов группы данных равны нулю. Они будут заполнены CP/M-86 с нулевой страницей. Если группы данных нет, то вместо нее будут использоваться первые 256 байт кодовой группы.
Пример CMD-файла
Ниже приведен пример сценария CMD для отображения информации о системе.
@ECHO OFF :: This CMD script provides you with your operating system, hardware and network information. TITLE My System Info ECHO Please wait... Gathering system information. ECHO ========================= ECHO OPERATING SYSTEM systeminfo | findstr /c:"OS Name" systeminfo | findstr /c:"OS Version" ECHO ========================= ECHO BIOS systeminfo | findstr /c:"System Type" ECHO ========================= ECHO MEMORY systeminfo | findstr /c:"Total Physical Memory" ECHO ========================= ECHO CPU wmic cpu get name ECHO ========================= ECHO NETWORK ADDRESS ipconfig | findstr IPv4 ipconfig | findstr IPv6 PAUSE