Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Запускает новый экземпляр интерпретатора команд, cmd.exe. При использовании без параметров cmd
отображается информация о версии и авторских правах операционной системы.
Замечание
Пользователям, ищущим более расширенные возможности, рекомендуется изучить PowerShell для улучшения сценариев и автоматизации.
Синтаксис
cmd [/c|/k] [/s] [/q] [/d] [/a|/u] [/t:{<b><f> | <f>}] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [<string>]
Параметры
Параметр | Описание |
---|---|
/c | Выполняет команду, указанную <string> и затем выходит из обработчика команд. |
/k | Выполняет команду, <string> указанную и сохраняет выполнение обработчика команд. |
/s | При использовании с /c или /k , активирует специальные правила без синтаксического анализа, которые чередуют первые и последние кавычки (" ) вокруг <string> , но оставляет остальную часть команды без изменений. |
/q | Отключает эхо. |
/d | Отключает выполнение команд AutoRun. |
/a | Форматирует выходные данные команды как Американский институт национальных стандартов (ANSI). |
/u | Форматирует выходные данные команды как Юникод. |
/t:{<b><f> | <f> } |
Задает цвета фона (b) и переднего плана (f). |
/e:on | Включает расширения команд. |
/e:off | Отключает расширения команд. |
/f:on | Включает завершение имени файла и каталога. |
/f:off | Отключает завершение имени файла и каталога. |
/v:on | Включает отложенное расширение переменной среды. |
/v:off | Отключает отложенное расширение переменной среды. |
<string> |
Указывает команду, которую вы хотите выполнить. |
/? | Отображение справки в командной строке. |
В следующей таблице перечислены допустимые шестнадцатеричные цифры, которые можно использовать в качестве значений и <b>
<f>
:
Ценность | Цвет |
---|---|
0 | Чёрный |
1 | Синий |
2 | Зеленый |
3 | Аква |
4 | Красный |
5 | Лиловая |
6 | Жёлтый |
7 | Белый |
8 | Серый |
9 | Голубой |
а | Светло-зеленый |
b | Легкий аква |
с | Светло-красный |
d | Светло-фиолетовый |
е | Светло-желтый |
f | Ярко-белый |
Замечания
Чтобы перенаправить выходные данные команды на входные данные другой команды, используйте оператор канала (
|
). Рассмотрим пример.<command1> | <command2>
Оператор двойного канала (
||
) используется для выполнения следующей команды, только если предыдущая команда завершается ошибкой. В данном сценарииcommand2
выполняется только в случаеcommand1
сбоя. Рассмотрим пример.<command1> || <command2>
Чтобы перенаправить выходные данные команды в файл, используйте символ больше угловой скобки
>
. Рассмотрим пример.<command1> > <file1.txt>
Чтобы группировать или вложить несколько команд вместе, используйте
&
. Рассмотрим пример.<command1> & <command2>
Чтобы использовать несколько команд,
<string>
разделяйте их разделителем&&
команд. Рассмотрим пример.<command1> && <command2> && <command3>
Замечание
При использовании
&&
следующая&&
команда выполняется только в том случае, если предыдущая команда успешно завершается.Cmd
выполняет первую команду и переходит к следующей, только если предыдущая команда выполнена успешно. В противном случае, если предыдущая команда завершается ошибкой, последующие команды не будут выполняться.Амперсанд
&
, канал|
и скобки( )
являются специальными символами, которые должны предшествовать escape-символу^
или кавычкам при передаче их в качестве аргументов.Если команда успешно завершает операцию, она возвращает код выхода нулевого (0) или нет кода выхода.
Если путь к каталогу, файлы или какие-либо данные, содержащие пробелы, необходимо использовать двойные кавычки (
" "
) вокруг текста, например"Computer Name"
. Рассмотрим пример.mkdir Test && mkdir "Test 2" && move "Test 2" Test
Необходимо использовать кавычки вокруг следующих специальных символов: & <> [ ] | { } ^ = ; ! ' + , ' ~ [пробел].
При указании
/c
или/k
,cmd
остальных процессах и<string>
кавычках сохраняются только в том случае, если выполняются все следующие условия:- Вы также не используете
/s
. - Вы используете ровно один набор кавычки.
- В кавычках не используются специальные символы, например : & <> ( ) @ ^ |.
- В кавычках используется один или несколько пробелов.
- В
<string>
кавычках используется имя исполняемого файла.
Если предыдущие условия не выполнены, обрабатывается путем проверки первого символа,
<string>
чтобы проверить, является ли он открывающим кавычки. Если первый символ является открывающим кавычками, он удаляется вместе с закрывающей кавычки. Сохраняется любой текст после закрывающих кавычки.- Вы также не используете
Если не указать
/d
,cmd
найдите следующие подразделы реестра:HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun\REG_EXPAND_SZ
Если присутствуют один или оба подраздела реестра, они выполняются перед всеми другими переменными.
Расширения команд для определенного процесса можно отключить с помощью
/e:off
. Вы можете включить или отключить расширения для всехcmd
параметров командной строки на компьютере или сеансе пользователя, задав следующие REG_DWORD значения:HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
Задайте для значения REG_DWORD значение 0×1 (включено) или 0×0 (отключено) в реестре с помощью Regedit.exe. Указанные пользователем параметры имеют приоритет над параметрами компьютера, а параметры командной строки имеют приоритет над параметрами реестра.
Осторожность
Неправильное редактирование реестра может значительно повредить систему. Перед внесением изменений в реестр рекомендуется создать резервную копию всех важных данных.
При включении расширений команд затрагиваются следующие команды:
assoc
call
-
chdir
(cd
) color
-
del
(erase
) endlocal
for
ftype
goto
if
-
mkdir
(md
) popd
prompt
pushd
set
setlocal
shift
-
start
(также включает изменения во внешние процессы команд)
Если включить отложенное расширение переменной среды, можно использовать символ восклицательного знака (
!
) для замены значения переменной среды во время выполнения.Завершение имени файла и каталога по умолчанию не включено. Вы можете включить или отключить завершение имени файла для определенного
cmd
процесса команды./f:{on | off}
Вы можете включить или отключить завершение имени файла и каталога для всех процессов
cmd
команды на компьютере или для сеанса входа пользователя, задав следующие REG_DWORD значения:HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
Чтобы задать значение REG_DWORD , выполните Regedit.exe и используйте шестнадцатеричное значение символа элемента управления для определенной функции (например, 0×9 — TAB, а 0×08 — BACKSPACE). Используйте значение [0×20] для пробела, так как он не является допустимым символом элемента управления. Указанные пользователем параметры имеют приоритет над параметрами компьютера, а параметры командной строки имеют приоритет над параметрами реестра.
Осторожность
Неправильное редактирование реестра может значительно повредить систему. Перед внесением изменений в реестр рекомендуется создать резервную копию всех важных данных.
Если вы включите завершение имени файла и каталога с помощью
/f:on
клавиш CTRL+D для завершения имени каталога и CTRL+F для завершения имени файла. Единственное различие между сочетаниями клавиш CTRL+D и CTRL+F заключается в том, что CTRL+D совпадает только с именами каталогов, а CTRL+F совпадает с именами файлов и каталогов. Если вы используете завершение имени файла и каталога для встроенных команд каталоговcd
,md
илиrd
предполагается завершение каталога.Нажатие клавиш CTRL+D или CTRL+F обрабатывает завершение имени файла и каталога. Эти функции сочетания ключей добавляют подстановочный знак
<string>
, если он отсутствует, создайте список путей, соответствующих, а затем отобразите первый путь сопоставления. Если ни один из путей не соответствует, функция завершения имени файла и каталога не изменяет отображение.- Чтобы перейти по списку соответствующих путей, нажмите клавиши CTRL+D или CTRL+F многократно.
- Чтобы перейти по списку назад, нажмите клавиши SHIFT и CTRL+D или CTRL+F одновременно.
- Чтобы отменить сохраненный список соответствующих путей и создать новый список, измените и нажмите
<string>
клавиши CTRL+D или CTRL+F. - При переключении между CTRL+D и CTRL+F сохраненный список соответствующих путей удаляется и создается новый список.
Завершение имени файла и каталога правильно обрабатывает имена файлов, содержащие пробелы или специальные символы, если кавычки размещаются вокруг соответствующего пути.
При обработке завершения
<string>
файла и имени каталога в точке<string>
обработки завершения любая часть пути справа от курсора удаляется.
Использование переменных среды
Среда cmd
командной оболочки определяется переменными, определяющими поведение командной оболочки и операционной системы. Можно определить поведение среды командной оболочки или всей операционной среды с помощью двух типов переменных среды, системных и локальных. Системные переменные среды определяют поведение глобальной операционной среды. Переменные локальной среды определяют поведение среды текущего экземпляра cmd
.
Только пользователи с правами администратора могут изменять системные переменные. Эти переменные чаще всего используются в сценариях входа. Переменные локальной среды доступны только при входе пользователя, для которого они были созданы. Локальные переменные, заданные в HKEY_CURRENT_USER hive, допустимы только для текущего пользователя, но определяют поведение глобальной операционной системы.
В следующем списке описаны различные типы переменных в порядке убывания приоритета:
- Встроенные системные переменные.
- Системные переменные, найденные в кусте HKEY_LOCAL_MACHINE .
- Локальные переменные, найденные в кусте HKEY_CURRENT_USER .
- Все переменные среды и пути, заданные в файле Autoexec.bat.
- Все переменные среды и пути, заданные в скрипте входа (при наличии).
- Переменные, используемые интерактивно в скрипте или пакетном файле.
В командной оболочке каждый экземпляр cmd
наследует среду родительского приложения. Таким образом, переменные можно изменить в новой cmd
среде, не затрагивая среду родительского приложения.
Переменные среды в среде можно просмотреть, выполнив одну из следующих команд:
set
Get-ChildItem Env:
настройка переменных среды.
Чтобы просмотреть переменную, введите:
set <VariableName>
Чтобы добавить переменную, введите:
set <VariableName>=<value>
Чтобы удалить переменную, введите:
set <VariableName>=
Большинство символов можно использовать в качестве переменных значений, включая пробелы. Если вы используете специальные символы , <|, &, или ^, необходимо предшествуть им с помощью escape-символов >^
или двойных кавычки. Если вы используете двойные кавычки, они включены в качестве части значения, так как все после знака равенства принимается в качестве значения. Рассмотрим следующие примеры:
Чтобы создать значение New&Name
переменной, введите:
set <VariableName>=New^&Name
Чтобы создать значение "New&Name"
переменной, введите:
set <VariableName>="New&Name"
Если вы вводите set <VariableName>=New&Name
(без карата ^
или двойных кавычки) в командной строке, может отобразиться следующее сообщение об ошибке:
"'Name' is not recognized as an internal or external command, operable program or batch file."
Имена переменных не учитывает регистр. Однако отображает переменную точно так же, set
как она была введена. Вы можете объединить строчные и строчные буквы в именах переменных, чтобы сделать код более читаемым, например UserName.
Замечание
- Максимальный размер переменной среды составляет 8 192 байта.
- Максимальный общий размер всех переменных среды, включая имена, значения и знаки равенства, составляет 65 536 символов для процесса.
Подставка значений переменной среды
Чтобы заменить значения переменных в командной строке или скриптах, заключите имя переменной в знаки процента (%VariableName%). Это позволяет cmd
ссылаться на значение переменной вместо того, чтобы рассматривать его как литеральный текст. При запуске cmd
скрипта заменяет экземпляры переменной значением. Например, использование %USERNAME% в скрипте автоматически заменяет фактическое имя пользователя. Подстановка переменных не рекурсивна; cmd
проверяет переменные только один раз.