Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Запускает новый экземпляр интерпретатора команд, cmd.exe. При использовании без параметров cmd
отображается информация о версии и авторских правах операционной системы.
Note
Users seeking more advanced capabilities are encouraged to explore PowerShell for enhanced scripting and automation.
Syntax
cmd [/c|/k] [/s] [/q] [/d] [/a|/u] [/t:{<b><f> | <f>}] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [<string>]
Parameters
Parameter | Description |
---|---|
/c | Выполняет команду, указанную <string> и затем выходит из обработчика команд. |
/k | Выполняет команду, <string> указанную и сохраняет выполнение обработчика команд. |
/s | При использовании с /c или /k , активирует специальные правила без синтаксического анализа, которые чередуют первые и последние кавычки (" ) вокруг <string> , но оставляет остальную часть команды без изменений. |
/q | Отключает эхо. |
/d | Отключает выполнение команд AutoRun. |
/a | Форматирует выходные данные команды как Американский институт национальных стандартов (ANSI). |
/u | Форматирует выходные данные команды как Юникод. |
/t:{<b><f> | <f> } |
Sets the background (b) and foreground (f) colors. |
/e:on | Включает расширения команд. |
/e:off | Отключает расширения команд. |
/f:on | Включает завершение имени файла и каталога. |
/f:off | Отключает завершение имени файла и каталога. |
/v:on | Включает отложенное расширение переменной среды. |
/v:off | Отключает отложенное расширение переменной среды. |
<string> |
Указывает команду, которую вы хотите выполнить. |
/? | Отображение справки в командной строке. |
В следующей таблице перечислены допустимые шестнадцатеричные цифры, которые можно использовать в качестве значений и <b>
<f>
:
Value | Color |
---|---|
0 | Black |
1 | Blue |
2 | Green |
3 | Aqua |
4 | Red |
5 | Purple |
6 | Yellow |
7 | White |
8 | Gray |
9 | Light blue |
a | Light green |
b | Light aqua |
c | Light red |
d | Light purple |
e | Light yellow |
f | Bright white |
Remarks
Чтобы перенаправить выходные данные команды на входные данные другой команды, используйте оператор канала (
|
). For example:<command1> | <command2>
Оператор двойного канала (
||
) используется для выполнения следующей команды, только если предыдущая команда завершается ошибкой. В данном сценарииcommand2
выполняется только в случаеcommand1
сбоя. For example:<command1> || <command2>
Чтобы перенаправить выходные данные команды в файл, используйте символ больше угловой скобки
>
. For example:<command1> > <file1.txt>
Чтобы группировать или вложить несколько команд вместе, используйте
&
. For example:<command1> & <command2>
Чтобы использовать несколько команд,
<string>
разделяйте их разделителем&&
команд. For example:<command1> && <command2> && <command3>
Note
При использовании
&&
следующая&&
команда выполняется только в том случае, если предыдущая команда успешно завершается.Cmd
выполняет первую команду и переходит к следующей, только если предыдущая команда выполнена успешно. В противном случае, если предыдущая команда завершается ошибкой, последующие команды не будут выполняться.Амперсанд
&
, канал|
и скобки( )
являются специальными символами, которые должны предшествовать escape-символу^
или кавычкам при передаче их в качестве аргументов.Если команда успешно завершает операцию, она возвращает код выхода нулевого (0) или нет кода выхода.
Если путь к каталогу, файлы или какие-либо данные, содержащие пробелы, необходимо использовать двойные кавычки (
" "
) вокруг текста, например"Computer Name"
. For example: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
. You can enable or disable extensions for allcmd
command-line options on a computer or user session by setting the following REG_DWORD values:HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
Set the REG_DWORD value to either 0×1 (enabled) or 0×0 (disabled) in the registry by using Regedit.exe. Указанные пользователем параметры имеют приоритет над параметрами компьютера, а параметры командной строки имеют приоритет над параметрами реестра.
Caution
Неправильное редактирование реестра может значительно повредить систему. Перед внесением изменений в реестр рекомендуется создать резервную копию всех важных данных.
При включении расширений команд затрагиваются следующие команды:
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}
You can enable or disable file and directory name completion for all processes of the
cmd
command on a computer or for a user logon session by setting the following REG_DWORD values: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
To set the REG_DWORD value, run Regedit.exe and use the hexadecimal value of a control character for a particular function (for example, 0×9 is TAB and 0×08 is BACKSPACE). Use the [0×20] value for white space, because it isn't a valid control character. Указанные пользователем параметры имеют приоритет над параметрами компьютера, а параметры командной строки имеют приоритет над параметрами реестра.
Caution
Неправильное редактирование реестра может значительно повредить систему. Перед внесением изменений в реестр рекомендуется создать резервную копию всех важных данных.
If you enable file and directory name completion by using
/f:on
, use CTRL+D for directory name completion and CTRL+F for file name completion. The only difference between the key combinations CTRL+D and CTRL+F is that CTRL+D only matches directory names and CTRL+F matches both file and directory names. Если вы используете завершение имени файла и каталога для встроенных команд каталоговcd
,md
илиrd
предполагается завершение каталога.Pressing CTRL+D or CTRL+F processes the file and directory name completion. Эти функции сочетания ключей добавляют подстановочный знак
<string>
, если он отсутствует, создайте список путей, соответствующих, а затем отобразите первый путь сопоставления. Если ни один из путей не соответствует, функция завершения имени файла и каталога не изменяет отображение.- To move through the list of matching paths, press CTRL+D or CTRL+F repeatedly.
- To move through the list backwards, press the SHIFT key and CTRL+D or CTRL+F simultaneously.
- To discard the saved list of matching paths and generate a new list, edit
<string>
and press CTRL+D or CTRL+F. - If you switch between CTRL+D and CTRL+F, the saved list of matching paths is discarded, and a new list is generated.
Завершение имени файла и каталога правильно обрабатывает имена файлов, содержащие пробелы или специальные символы, если кавычки размещаются вокруг соответствующего пути.
If you process file and directory name completion from within
<string>
, at the point in<string>
where the completion was processed, any part of the path to the right of the cursor is discarded.
Использование переменных среды
Среда cmd
командной оболочки определяется переменными, определяющими поведение командной оболочки и операционной системы. Можно определить поведение среды командной оболочки или всей операционной среды с помощью двух типов переменных среды, системных и локальных. Системные переменные среды определяют поведение глобальной операционной среды. Переменные локальной среды определяют поведение среды текущего экземпляра cmd
.
Только пользователи с правами администратора могут изменять системные переменные. Эти переменные чаще всего используются в сценариях входа. Переменные локальной среды доступны только при входе пользователя, для которого они были созданы. Local variables set in the HKEY_CURRENT_USER hive are valid only for the current user, but define the behavior of the global operating system environment.
В следующем списке описаны различные типы переменных в порядке убывания приоритета:
- Встроенные системные переменные.
- System variables found in the HKEY_LOCAL_MACHINE hive.
- Local variables found in the HKEY_CURRENT_USER hive.
- Все переменные среды и пути, заданные в файле Autoexec.bat.
- Все переменные среды и пути, заданные в скрипте входа (при наличии).
- Переменные, используемые интерактивно в скрипте или пакетном файле.
В командной оболочке каждый экземпляр cmd
наследует среду родительского приложения. Таким образом, переменные можно изменить в новой cmd
среде, не затрагивая среду родительского приложения.
Переменные среды в среде можно просмотреть, выполнив одну из следующих команд:
set
Get-ChildItem Env:
настройка переменных среды.
Чтобы просмотреть переменную, введите:
set <VariableName>
Чтобы добавить переменную, введите:
set <VariableName>=<value>
Чтобы удалить переменную, введите:
set <VariableName>=
Большинство символов можно использовать в качестве переменных значений, включая пробелы. If you use the special characters <, >, |, &, or ^, you must precede them with the escape character ^
or double quotation marks. Если вы используете двойные кавычки, они включены в качестве части значения, так как все после знака равенства принимается в качестве значения. Рассмотрим следующие примеры:
Чтобы создать значение 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
как она была введена. You can combine uppercase and lowercase letters in your variable names to make your code more readable, for example, UserName.
Note
- Максимальный размер переменной среды составляет 8 192 байта.
- Максимальный общий размер всех переменных среды, включая имена, значения и знаки равенства, составляет 65 536 символов для процесса.
Подставка значений переменной среды
Чтобы заменить значения переменных в командной строке или скриптах, заключите имя переменной в знаки процента (%VariableName%). Это позволяет cmd
ссылаться на значение переменной вместо того, чтобы рассматривать его как литеральный текст. При запуске cmd
скрипта заменяет экземпляры переменной значением. Например, использование %USERNAME% в скрипте автоматически заменяет фактическое имя пользователя. Подстановка переменных не рекурсивна; cmd
проверяет переменные только один раз.