CMD - запуск новой копии интерпретатора команд Windows.

Команда CMD используется для запуска новой копии командного процессора Windows. Как правило, необходимость в подобном запуске возникает в тех случаях, когда требуется переопределить текущие настройки командной строки, задаваемые профилем пользователя и параметрами компьютера. Ключи командной строки CMD перекрывают значения, задаваемые параметрами реестра, определяющими текущие настройки интерпретатора команд Windows.

Формат командной строки:

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF] [[/S] [/C | /K] строка]

Параметры командной строки:

/C  Выполнение указанной команды (строки) с последующим завершением.

/K  Выполнение указанной команды (строки) без последующего завершения.

/S  Изменение поведения после /C или /K (см. ниже)

/Q  Отключение режима вывода команд на экран (ECHO).

/D  Отключение выполнения команд AutoRun из реестра (см. ниже)

/A  Вывод результатов выполнения команд в формате ANSI.

/U  Вывод результатов выполнения команд в формате UNICODE.

/T:fg  Выбор цвета переднего плана/фона (более подробно см. COLOR /?)

/E:ON  Разрешение расширенной обработки команд (см. ниже)

/E:OFF  Запрет расширенной обработки команд (см. ниже)

/F:ON  Разрешение символов завершения имен файлов и папок (см. ниже)

/F:OFF  Запрет символов завершения имен файлов и папок (см. ниже)

/V:ON  Разрешение отложенного расширения переменных среды с применением символа '!' в качестве разделителя. Например, /V:ON разрешает использовать !var! в качестве расширения переменной var во время выполнения. Синтаксис var служит для расширения переменных при вводе, что приводит к совсем другим результатам внутри цикла FOR.

/V:OFF  Запрет отложенного расширения переменных среды.


Чтобы указать в одной строке несколько команд, следует разделить их символами '&&' и заключить в кавычки. Кроме того, из соображений совместимости, /X означает то же, что и /E:ON, /Y то же, что и /E:OFF и /R то же, что и /C. Все прочие ключи командной строки игнорируются.

Если указаны ключи /C или /K, то остальная часть командной строки после такого ключа обрабатывается как командная строка, а обработка символов кавычек (") ведется по следующим правилам:

1. Если выполняются все перечисленные ниже условия, то символы кавычек в командной строке сохраняются:
- ключ /S отсутствует
- есть ровно два символа кавычек
- между ними нет других специальных символов, как то: &<>()@^|
- между ними имеются один или несколько пробелов
- строка, заключенная в кавычки, является именем исполнимого файла.

2. В противном случае, проверяется первый символ, и если он является символом кавычек, то он удаляется, также удаляется последний символ кавычек в командной строке, а весь текст после этого последнего символа кавычек сохраняется.

Если ключ /D НЕ УКАЗАН в командной строке, то при запуске CMD.EXE выполняется проверка значений переменных REG_SZ или REG_EXPAND_SZ для следующих разделов системного реестра:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun

и/или

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

и если одна из них или обе они присутствуют, то сначала выполняются они.

По умолчанию расширенная обработка команд включена. Чтобы запретить расширенную обработку для конкретного вызова, используется параметр /E:OFF.

Можно включить или отключить расширенную обработку команд для всех вызовов CMD.EXE на данном компьютере или для данного сеанса пользователя, задав с помощью REGEDIT.EXE в системном реестре значение 0x1 или 0x0 для параметров REG_DWORD для следующих разделов:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions

и/или

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions

Параметры пользователя переопределяют параметры компьютера. Параметры командной строки переопределяют соответствующие параметры реестра.

В пакетном файле аргументы SETLOCAL ENABLEEXTENSIONS или DISABLEEXTENSIONS переопределяют параметр /E:ON или /E:OFF. Для получения дополнительных сведений введите "SETLOCAL /?".

При расширенной обработке команд изменения и/или добавления затрагивают следующие команды:

DEL или ERASE

COLOR

CD или CHDIR

MD или MKDIR

PROMPT

PUSHD

POPD

SET

SETLOCAL

ENDLOCAL

IF

FOR

CALL

SHIFT

GOTO

START (изменен также вызов внешних команд)

ASSOC

FTYPE

Для получения подробных сведений введите "имя_команды /?".

Отложенное расширение переменных среды НЕ ВКЛЮЧЕНО по умолчанию. Можно включить или отключить отложенное расширение переменных среды для конкретного вызова CMD.EXE с помощью параметра /V:ON или /V:OFF. Можно включить или отключить отложенное расширение переменных среды для всех вызовов CMD.EXE на данном компьютере или для данного пользователя, задав с помощью команды REGEDIT.EXE в системном реестре значение 0x1 или 0x0 для параметров REG_DWORD для следующих разделов:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion

и/или

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion Параметры пользователя переопределяют параметры компьютера. Параметры командной строки, в свою очередь, переопределяют параметры реестра.

В пакетном файле аргументы SETLOCAL ENABLEDELAYEDEXPANSION или DISABLEDELAYEDEXPANSION переопределяют параметр /V:ON или /V:OFF. Для получения дополнительных сведений введите "SETLOCAL /?".

Если отложенное расширение переменных среды включено, то для замены текущего значения переменной среды во время выполнения может использоваться символ восклицательного знака "!".

Можно включить или отключить завершение имен файлов и папок для конкретного вызова CMD.EXE с помощью ключей /F:ON или /F:OFF. Завершение имен можно включить или отключить для всех вызовов CMD.EXE на данном компьютере или для данного пользователя, с помощью REGEDIT.EXE задав значения REG_DWORD в системном реестре для следующих разделов:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar

и/или

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar

установив их шестнадцатеричные значения равными коду управляющего символа, используемого для конкретной функции (например, 0x4 для CTRL-D или 0x6 для CTRL-F). Параметры пользователя перекрывают параметры компьютера. Ключи командной строки, в свою очередь, перекрывают параметры реестра.

Если завершение включено с помощью ключа командной строки /F:ON, то используются два управляющих символа: CTRL-D для имен папок и CTRL-F для имен файлов. Чтобы отключить конкретный символ завершения в системном реестре, в качестве кода специального символа используется шестнадцатеричное значение символа пробела (0x20).

Завершение вызывается при вводе одного из этих двух специальных символов. Функция завершения берет строку пути слева от точки ввода, дописывает к ней символ шаблона, если таковой отсутствует, а затем строит список путей, которые соответствуют полученному определению. После этого выводится первый элемент этого списка соответствующих путей. Если же список пуст, то подается звуковой сигнал и ничего не выводится. После этого повторный ввод того же самого специального символа приводит к циклическому перебору всех соответствующих путей. Нажатие клавиши Shift при вводе управляющего символа позволяет просматривать список путей в обратном порядке. Если изменить выведенный путь, а затем снова ввести управляющий символ, сохраненный список очищается и строится новый список путей. То же самое происходит, если переключиться с одного символа завершения на другой. Единственное отличие при использовании символа завершения файла состоит в том, что при этом для построения списка соответствия берется и путь, и имя файла, а при использовании символа завершения папки берется только путь. Если символ завершения используется в одной из встроенных команд манипулирования папками (CD, MD или RD), то всегда подразумевается символ завершения папок.

Символ завершения правильно работает и с именами файлов, содержащими пробелы или иные специальные символы, если при этом строка соответствия заключена в кавычки. Кроме того, если сместить точку ввода влево, а затем использовать символ завершения внутри строки, оставшийся справа от точки ввода текст будет отброшен.

Специальные символы, которые требуют обязательного заключения в кавычки:

пробел

&()[]{}^=;!'+,`~

Примеры использования:

cmd.exe /F:ON - запустить новое окно командной строки с включенным режимом использования символов завершения имен файлов и папок. Данный режим облегчает набор имен, например, если набрать символ "S" и нажать CTRL+D, то вместо него будет подставлено имя каталога, начинающееся на "S", при следующем нажатии CTRL-D – имя следующего по алфавиту, если такой существует, например:

SAVED - при первом нажатии.

"System Volume Information" - при втором нажатии CTRL+D. Если имя содержит пробел, то оно заключается в двойные кавычки.

Для подстановки имен файлов используется комбинация CTRL+F.

Использование символов завершения можно настроить для постоянного использования на данном компьютере, как описано в статье Настройка командной строки Windows.

cmd.exe /U /C "C:\Program Files (x86)\FPinger\Collect.exe" - выполнить запуск программы "Collect.exe" в режиме вывода результатов в кодировке UNICODE и завершиться.

cmd.exe /A /K "C:\Program Files (x86)\FPinger\Collect.exe" - запустить программу "Collect.exe" в режиме вывода результатов в кодировке ANSI и ожидать ввод команд пользователя.

cmd /C /V:ON exanpfor.bat - выполнить командный файл exampfor.bat в режиме разрешения отложенного расширения переменных среды с применением символа '!' в качестве разделителя.

cmd /T:f0 - запустить командный процессор в режиме отображения черных символов на белом фоне.

В дополнение к данной теме:

Настройка командной строки Windows

Примеры командных файлов Windows







Весь список команд CMD Windows