Що таке файл 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