.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