запуск новой копии интерпретатора команд 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).
Завершение вызывается при вводе одного из этих двух специальных символов. Функция завершения берет строку пути слева от точки ввода, дописывает к ней символ шаблона, если таковой отсутствует, а затем строит список путей, которые соответствуют полученному определению. После этого выводится первый элемент этого списка соответствующих путей. Если же список пуст, то подается звуковой сигнал и ничего не выводится. После этого повторный ввод того же самого специального символа приводит к циклическому перебору всех соответствующих путей. Нажатие клавиши
Символ завершения правильно работает и с именами файлов, содержащими пробелы или иные специальные символы, если при этом строка соответствия заключена в кавычки. Кроме того, если сместить точку ввода влево, а затем использовать символ завершения внутри строки, оставшийся справа от точки ввода текст будет отброшен.
Специальные символы, которые требуют обязательного заключения в кавычки:
пробел
&()[]{}^=;!’+,`~
Примеры использования:
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
cmd | Microsoft Docs
- Чтение занимает 5 мин
В этой статье
Запускает новый экземпляр интерпретатора команд Cmd.exe.Starts a new instance of the command interpreter, Cmd.exe. Если используется без параметров, Команда cmd отображает версию и сведения об авторских правах операционной системы.If used without parameters, cmd displays the version and copyright information of the operating system.
Синтаксис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/c | Выполняет команду, указанную в строке , а затем останавливается.Carries out the command specified by string and then stops. | |
/k/k | Выполняет команду, указанную в строке , и продолжит.Carries out the command specified by string and continues. | |
/s/s | Изменяет обработку строки после /c или /k.Modifies the treatment of string after /c or /k. | |
/q/q | Отключает вывод.Turns the echo off. | |
/d/d | Отключает выполнение команд AutoRun.Disables execution of AutoRun commands. | |
/a/a | Форматирует выходные данные внутренней команды в канал или файл как Американский национальный институт стандартов (ANSI) (ANSI).Formats internal command output to a pipe or a file as American National Standards Institute (ANSI). | |
/U/u | Форматирует выходные данные внутренней команды в канал или файл в Юникоде.Formats internal command output to a pipe or a file as Unicode. | |
/t: {<b><f> /t:{<b><f> | <f> }<f> } | Задает цвета фона (b) и переднего плана (f).Sets the background (b) and foreground (f) colors. |
/e: вкл./e:on | Включает расширения команд.Enables command extensions. | |
/e: выкл./e:off | Отключает расширения команд.Disables commands extensions. | |
/f: вкл./f:on | Включает завершение имени файла и каталога.Enables file and directory name completion. | |
/f: выкл./f:off | Отключает завершение имен файлов и каталогов.Disables file and directory name completion. | |
/v: вкл./v:on | Включает отложенное расширение переменных среды.Enables delayed environment variable expansion. | |
/v: выкл./v:off | Отключает отложенное расширение переменных среды.Disables delayed environment variable expansion. | |
<string> | Указывает команду, которую требуется выполнить.Specifies the command you want to carry out. | |
/?/? | Отображение справки в командной строке.Displays help at the command prompt. |
В следующей таблице перечислены допустимые шестнадцатеричные цифры, которые можно использовать в качестве значений для параметров <b>
и <f>
.The following table lists valid hexadecimal digits that you can use as the values for <b>
and <f>
:
ЗначениеValue | ColorColor |
---|---|
00 | ЧерныйBlack |
11 | СинийBlue |
22 | ЗеленыйGreen |
33 | AquaAqua |
44 | КрасныйRed |
55 | СиреневыйPurple |
66 | ЖелтыйYellow |
77 | WhiteWhite |
88 | СерыйGray |
99 | Светло-синийLight blue |
aa | светло-зеленыйLight green |
bb | Светло-голубойLight aqua |
сc | Светло-красныйLight red |
dd | Светло-фиолетовыйLight purple |
Д.e | Светло-желтыйLight yellow |
ff | Светлое белоеBright white |
RemarksRemarks
Чтобы использовать несколько команд для
<string>
, разделите их по разделителю команд && и заключите их в кавычки.To use multiple commands for<string>
, separate them by the command separator && and enclose them in quotation marks. Пример:For example:"<command1>&&<command2>&&<command3>"
При указании параметра /c или /k, Команда cmd , оставшаяся часть строкии кавычки сохраняются только при соблюдении всех следующих условий.If you specify /c or /k, cmd processes, the remainder of string, and the quotation marks are preserved only if all of the following conditions are met:
Кроме того, не используется параметр /s.You don’t also use /s.
Вы используете ровно один набор кавычек.You use exactly one set of quotation marks.
В кавычки не используются специальные символы (например, & < > () @ ^ |).You don’t use any special characters within the quotation marks (for example: & < > ( ) @ ^ | ).
В кавычках используется один или несколько пробельных символов.You use one or more white-space characters within the quotation marks.
Строка в кавычках — это имя исполняемого файла.The string within quotation marks is the name of an executable file.
Если предыдущие условия не выполнены, строка обрабатывается путем проверки первого символа, чтобы проверить, является ли он открывающей кавычкой.If the previous conditions aren’t met, string is processed by examining the first character to verify whether it is an opening quotation mark. Если первый символ является открывающей кавычкой, он удаляется вместе с закрывающей кавычкой.If the first character is an opening quotation mark, it is stripped along with the closing quotation mark. Любой текст, следующий за закрывающими кавычками, сохраняется.Any text following the closing quotation marks is preserved.
Если не указать параметр /d в строке, Cmd.exe ищет следующие подразделы реестра:If you don’t specify /d in string, Cmd.exe looks for the following registry subkeys:
HKEY_LOCAL_MACHINE \Софтваре\микрософт\комманд Процессор\ауторун\ REG_SZHKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ
HKEY_CURRENT_USER \Софтваре\микрософт\комманд Процессор\ауторун\ REG_EXPAND_SZHKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun\REG_EXPAND_SZ
Если имеется один или оба подраздела реестра, они выполняются перед всеми остальными переменными.If one or both registry subkeys are present, they’re executed before all other variables.
Внимание!
Неправильное изменение реестра может серьезно повредить систему.Incorrectly editing the registry may severely damage your system. Перед внесением изменений следует сделать резервную копию всех ценных данных на компьютере.Before making changes to the registry, you should back up any valued data on the computer.
Вы можете отключить расширения команд для определенного процесса, используя /e: Off.You can disable command extensions for a particular process by using /e:off. Вы можете включить или отключить расширения для всех параметров командной строки cmd на компьютере или сеансе пользователя, задав следующие значения REG_DWORD .You can enable or disable extensions for all cmd command-line options on a computer or user session by setting the following REG_DWORD values:
HKEY_LOCAL_MACHINE \Софтваре\микрософт\комманд Процессор\енабликстенсионс\ REG_DWORDHKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
HKEY_CURRENT_USER \Софтваре\микрософт\комманд Процессор\енабликстенсионс\ REG_DWORDHKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
Присвойте параметру REG_DWORD значение 0 × 1 (включено) или 0 × 0 (отключено) в реестре с помощью Regedit.exe.Set the REG_DWORD value to either 0×1 (enabled) or 0×0 (disabled) in the registry by using Regedit.exe. Заданные пользователем параметры имеют приоритет над параметрами компьютера, а параметры командной строки имеют приоритет над параметрами реестра.User-specified settings take precedence over computer settings, and command-line options take precedence over registry settings.
Внимание!
Неправильное изменение реестра может серьезно повредить систему.Incorrectly editing the registry may severely damage your system. Перед внесением изменений следует сделать резервную копию всех ценных данных на компьютере.Before making changes to the registry, you should back up any valued data on the computer.
При включении расширений команд затрагиваются следующие команды:When you enable command extensions, the following commands are affected:
assocassoc
callcall
chdir (CD)chdir (cd)
colorcolor
Del (стирание)del (erase)
endlocalendlocal
forfor
ftypeftype
gotogoto
ifif
mkdir (MD)mkdir (md)
popdpopd
promptprompt
pushdpushd
setset
setlocalsetlocal
shiftshift
Start (также включает изменения во внешние командные процессы)start (also includes changes to external command processes)
При включении отложенного расширения переменных среды можно использовать символ восклицательного знака для замены значения переменной среды во время выполнения.If you enable delayed environment variable expansion, you can use the exclamation point character to substitute the value of an environment variable at run time.
По умолчанию завершение имени файла и каталога не включено.File and directory name completion is not enabled by default. Можно включить или отключить завершение имени файла для определенного процесса команды cmd с параметром /f:{On | Off}.You can enable or disable file name completion for a particular process of the cmd command with /f:{on | off}. Можно включить или отключить завершение имени файла и каталога для всех процессов команды cmd на компьютере или сеанса входа пользователя, задав следующие значения REG_DWORD .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 \Софтваре\микрософт\комманд Процессор\комплетиончар\ REG_DWORDHKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_LOCAL_MACHINE \Софтваре\микрософт\комманд Процессор\паскомплетиончар\ REG_DWORDHKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
HKEY_CURRENT_USER \Софтваре\микрософт\комманд Процессор\комплетиончар\ REG_DWORDHKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_CURRENT_USER \Софтваре\микрософт\комманд Процессор\паскомплетиончар\ REG_DWORDHKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
Чтобы задать значение REG_DWORD , выполните Regedit.exe и используйте шестнадцатеричное значение управляющего символа для конкретной функции (например, 0 × 9 — TAB, а 0 × 08 — это BACKSPACE).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). Заданные пользователем параметры имеют приоритет над параметрами компьютера, а параметры командной строки имеют приоритет над параметрами реестра.User-specified settings take precedence over computer settings, and command-line options take precedence over registry settings.
Внимание!
Неправильное изменение реестра может серьезно повредить систему.Incorrectly editing the registry may severely damage your system. Перед внесением изменений следует сделать резервную копию всех ценных данных на компьютере.Before making changes to the registry, you should back up any valued data on the computer.
Если включить завершение имен файлов и каталогов с помощью /f: on, используйте сочетание клавиш CTRL + D для завершения имен каталогов и Ctrl + f для завершения имени файла.If you enable file and directory name completion by using
При нажатии клавиш CTRL + D или CTRL + Fобрабатывается завершение имени файла и каталога.Pressing CTRL+D or CTRL+F, processes the file and directory name completion. Эти функции сочетания клавиш добавляют символ-шаблон к
Если ни один из путей не соответствует, функция завершения имени файла и каталога выдает звуковой сигнал и не изменяет отображение.If none of the paths match, the file and directory name completion function beeps and does not change the display. Для перемещения по списку совпадающих путей нажмите клавиши CTRL + D или
or CTRL+F. Если переключиться между сочетаниями Ctrl + D и 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. Единственное различие между сочетаниями клавиш Ctrl + d и Ctrl + f заключается в том, что сочетание клавиш Ctrl + d соответствует именам каталогов, а сочетание клавиш CTRL + F соответствует именам файлов и каталогов.The only difference between the key combinations CTRL+D andИмя файла и каталога правильно обрабатывает имена файлов, которые содержат пробелы или специальные символы, если они заключены в кавычки для соответствующего пути.File and directory name completion correctly processes file names that contain white space or special characters if you place quotation marks around the matching path.
Необходимо использовать кавычки для следующих специальных символов: & < > [] {} ^ =;!You must use quotation marks around the following special characters: & < > [ ] { } ^ = ; ! ‘ +, ‘ ~ [пробел].’ + , ` ~ [white space].
Если предоставленные сведения содержат пробелы, заключите текст в кавычки (например, «имя компьютера»).If the information that you supply contains spaces, you must use quotation marks around the text (for example, «Computer Name»).
Если обработка имени файла и каталога выполняется из строки, любая часть пути справа от курсора отбрасывается (в точке, где обработано завершение).If you process file and directory name completion from within string, any part of the path to the right of the cursor is discarded (at the point in string where the completion was processed).
Дополнительные ссылкиAdditional References
Использование пакетных параметров командной строки
Windows- Bot
- 04.02.2020
- 1 595
- 0
- 5
- 4
- 1
- Содержание статьи
Описание
В процессе написания сложных пакетных файлов или же манипуляций с командной строкой многие вещи можно упростить. Одним из способов такого упрощения — является использование параметров и модификаторов, о которых и пойдет речь в статье.
Параметры командной строки
Пакетные параметры командной строки используются в пакетном файле для получения информации о настройках среды.
Файл Cmd.exe разворачивает переменные с %0 по %9. При использовании пакетных параметров переменная %0 заменяется на имя пакетного файла, а переменные с %1 по %9 — на соответствующие аргументы, напечатанные в командной строке. Для доступа к переменным больше %9 запустите команду shift. Для получения дополнительных сведений о команде shift смотрите раздел Shift. Параметр %* ссылается на все аргументы, которые передаются пакетному файлу, за исключением параметра %0.
Например, для копирования содержимого из папки 1 (Folder1) в папку 2 (Folder2), где параметр %1 заменяется на значение Folder1, а параметр %2 — на значение Folder2, в пакетном файле с именем Mybatch.bat введите следующую строку:
xcopy %1\*.* %2
Для запуска файла введите:
mybatch.bat C:\folder1 D:\folder2
Результат будет таким же, как и при записи в пакетный файл строки:
xcopy C:\folder1 \*.* D:\folder2
Модификаторы командной строки
С пакетными параметрами можно также использовать модификаторы. Модификаторы используют информацию о текущем диске и каталоге как часть или полное имя файла или каталога. Для использования модификатора напечатайте символ (%), затем символ тильды (~), а затем соответствующий модификатор (т.е., %~модификатор).
В следующей таблице описаны модификторы, используемые для расширения.
Модификатор | Описание |
---|---|
%~1 | расширение %1 и удаление любых кавычек («») |
%~f1 | замена %1 полным путем |
%~d1 | замена %1 именем диска |
%~p1 | замена %1 путем |
%~n1 | замена %1 именем файла |
%~x1 | замена %1 расширением имени файла |
%~s1 | замена путем, содержащим только короткие имена |
%~a1 | Замена %1 атрибутами файла |
%~t1 | замена %1 датой и временем модификации файла |
%~z1 | замена %1 размером файла |
%~$PATH:1 | поиск в каталогах, перечисленных в переменной среды PATH, замена %1 полным именем первого найденного файла. Если переменная среды не определена или поиск не обнаружил файлов, модификатор выдает пустую строку. |
В следующей таблице даны возможные комбинации модификаторов и квалификаторов для получения более сложных результатов.
Модификатор | Описание |
---|---|
%~dp1 | замена %1 именем диска и путем |
%~nx1 | замена %1 именем файла и расширением |
%~dp$PATH:1 | поиск в каталогах, перечисленных в переменной среды PATH, и замена %1 именем диска и путем к первому найденному файлу. |
%~ftza1 | замена %1 строкой, аналогичной результату работы программы dir |
Примечания
- %1 и PATH в показанных выше примерах можно заменить на другие значения пакетных параметров.
- Модификатор %* является уникальным, так как он представляет все аргументы, переданные пакетному файлу. Этот модификатор не используется в комбинации с модификатором %~. Конструкция %~ должна завершаться допустимым номером аргумента.
- Нельзя манипулировать пакетными параметрами подобно переменным среды. Нельзя искать и заменять значения или контролировать подстроки. Но переменной среды можно назначить параметр, а потом уже ей манипулировать.
Как запустить exe файл с параметрами. Как запустить программу с параметрами командной строки. Параметры командной строки с ExecParm
На этой странице вы найдете детальную инструкцию по запуску игры параметрами, ключами запуска. «Зачем это нужно?» — спросите вы. Чтобы ответить на этот вопрос необходимо рассказать что такое параметры, ключи запуска и на что они могут влиять. При запуске игры с указанием параметров вы активируете скрытые возможности, которые в большинстве случаев нельзя включить каким-либо другим путем. Следует также сказать, что каждая игра имеет свои индивидуальные ключи запуска, не зная о которых вы не сможете что-то активировать.
И так, что необходимо сделать, чтобы запустить игру с параметром? Сразу следует сказать, что запустить игры вместе с параметрами, ключами запуска, можно только через ярлык или командную строку, но так как через ярлык это сделать проще, то второй метод здесь рассмотрен не будет.
Создание ярлыка игры
Прежде чем создать ярлык игры, необходимо найти файл, который отвечает ее запуск. Все эти файлы имеют расширение exe , то есть значок запуска игры будет иметь следующий формат имени: название.exe Следует также сказать, что расширение exe может быть скрытым (не отображаться). Необходимый файл запуска находится в месте, которое вы указали во время установки — это может быть следующий путь:C: \ Program Files \ название_игры \ название_название.exe
И так, необходимый файл вы нашли. Теперь создадим ярлык игры на рабочем столе. Создать ярлык можно несколькими методами — используйте какой-то один.
- Кликните правой клавишей мыши по значку. Найдите пункт Отправить — Рабочий стол (создать ярлык).
- Зажмите на клавиатуре комбинацию клавиш [Ctrl ] + [Shift
- Зажмите на клавиатуре клавишу [Alt ] и перетащите значок на рабочий стол.
Добавление параметров запуска к ярлыку игры
Ярлык создан и можно добавлять параметры запуска игры. Для этого кликните правой клавишей мыши по созданному ярлыку на Рабочем столе и выберите пункт Свойства . Перед вами появится окно в котором вам понадобиться отредактировать только одно поле с названием Объект .Для того чтобы запустить игру с параметрами (ключами) их необходимо дописать в конце поля Объект через пробел. Сразу следует сказать, что параметров запуска может быть больше одного и все они записываются в следующем формате в конце поля Объект через пробел :
-параметр_1 -параметр_2 -параметр_3
Пример: «C:\Program Files (x86)\Skype\Phone\Skype.exe» /параметр
Примечания:
- перед названием параметра в большинстве случаев должен стоять дефис (— ) или слеш (/ ) в зависимости от игры, но для многих игр эти знаки идентичны, то есть не имеет значения какой из них ставить;
- между параметрами (ключами), если их несколько, обязательно должен стоять пробел;
- двойные кавычки из поля Объект, если они присутствуют, удалять не надо;
- если вы запускаете специальный загрузчик (Launcher) и только после этого запускаете игру, нажатием кнопки «Играть» или «Запустить», то дописывая параметры запуска к яр
Настройка командной строки Windows
    Интерпретатор команд, он же командный процессор, он же приложение «Командная строка», можно запустить несколькими способами:
— Через главное меню – ”Все приложения” — “Стандартные” – ”Командная строка”
— Через меню Пуск — Выполнить — cmd.exe
— Комбинация клавиш Win+R — cmd.exe
— Комбинация клавиш Win+X — Командная строка (только в Windows 8 и более поздних)
— Через поиск приложения cmd.exe
Стандартное окно командной строки – это окно с символами белого цвета на черном фоне. Параметры шрифтов, цвет и фон символов, использование буфера обмена и прочие свойства командной строки можно изменить в соответствии со своими предпочтениями.
Часть настроек можно выполнить, изменив свойства самого приложения, свойства ярлыка, с помощью которого запускается приложение командной строки, а часть — редактированием реестра Windows.
Настройка командной строки через изменение свойств приложения (ярлыка для запуска приложения).
1. Откройте окно Командная строка.
2. Щелкните указателем мышки левый верхний угол окна и в открывшемся меню выберите пункт Свойства.
3. Выберите вкладку Общие.
4. В области Запоминание команд можно изменить размер буфера под историю команд. Если есть необходимость, выберите или введите новое значение (до 999 в поле Размер буфера, а затем выберите или введите число (до 5) в поле Количество буферов. Увеличение размера буфера под запоминание команд может пригодиться в тех случаях, когда в течении сессии приходится вводить большое количество текста. Клавиши Стрелка вверх и Стрелка вниз позволяют вызывать ранее набранные и сохраненные в буфере команды. Для того, чтобы в буфере не запоминались одинаковые команды, можно включить флажок Отбрасывать повторения. Значения размера буфера и количество буферов могут обличаться для разных версий Windows.
5. В области Правка установите флажки Выделение мышью и Быстрая вставка. Флажок Выделение мышью позволяет копировать и вставлять данные в окне командной строки с использованием мышки. Чтобы скопировать, выделите левой кнопкой текст в окне командной строки и нажмите правую кнопку мыши. Чтобы выполнить вставку в командную строку или текстовый файл, щелкните правой кнопкой мыши. Можно вместо выделения мышью, использовать стандартный режим, вызываемый через контекстное меню правой кнопкой мышки. Выбирается пункт Пометить, выделяется копируемый текст и нажимается правая кнопка мышки, которая используется и для копирования и для вставки. Стандартные комбинации клавиш для копирования и вставки в командной строке не работают, за исключением Windows 10 / Sever 2016
При желании, можно изменить вид и размер шрифта, цвет символов и фона, расположение и размер окна командной строки. Например, для того, чтобы в окне командной строки отображались символы черного цвета на белом фоне, нужно установить значение цвета символов, равное 0, а значение цвета фона — 255
В диалоговом окне Изменение свойств (если оно присутствует в данной версии Windows) выберите вариант Сохранить свойства для других окон с тем же именем.
Особенности командной строки в Wimdows 10 и Windows Server 2016
Настройки командной строки в Windows 10 (Windows Server 2016) немного отличаются от настроек предыдущих версий Windows.
При включенном флажке ”Использовать прежнюю версию консоли (Требуется перезапуск)”, настройки ничем не отличаются от тех, что применялись в среде предыдущих версий Windows. В новой же версии консоли, появляются дополнительные настройки — становятся доступными для включения флажки параметров, отсутствовавших в более ранних версия системы. Новые возможности в значительной степени облегчают обработку текста в окне консоли и позволяют использовать большинство стандартных сочетаний клавиш для копирования, вставки и редактирования. Так, например, при включенном режиме ”Разрешить сочетания клавиш с CONTROL”, можно использовать стандартные сочетания клавиш, принятые в среде ОС:
— CTRL+C (CTRL+Insert) – скопировать выделенный текст.
— CTRL+V (Shift+Insert) – вставить выделенный текст.
Часть настроек ориентирована на расширение возможностей при использовании выделения текста, обработки строк, истории команд, динамического изменения внешнего вида и управления перемещением курсора, прозрачностью окна и т.п. с поддержкой множества горячих клавиш. Подробнее о новых возможностях командной строки в Windows 10 рассказывается в статье Работа в командной строке ( CMD ) Windows.
Настройка командной строки изменением параметров в реестре Windows.
Изменение внешнего вида и некоторых свойств командной строки можно выполнить не только с помощью определенных ключей при запуске cmd.exe, но и изменив параметры реестра, предназначенные для командного процессора в разделах:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor — для всех пользователей.
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\ — для текущего пользователя.
HKEY_CURRENT_USER\Console\ — дополнительно для текущего пользователя.
Параметры командной строки при запуске CMD.EXE имеют наивысший приоритет, а пользовательские настройки ( раздел реестра HKEY_CURRENT_USER ) имеют приоритет над настройками для компьютера ( раздел реестра HKEY_LOCAL_MACHINE ).
Одной из наиболее полезных настроек является изменение обработки вводимой командной строки таким образом, чтобы можно было выполнять подстановку имен файлов и каталогов при нажатии специальной клавиши, как это реализовано в командной оболочке Unix-подобных операционных систем. Так например, для перехода в каталог home не обязательно набирать команду :
cd /home
а достаточно ввести cd /h и нажать специальную клавишу Tab — недостающая часть имени ( ome ) будет подставлена в качестве параметра команды смены каталога. Очень полезная возможность при наборе длинных имен файлов и каталогов.
Аналогичным образом можно настроить и командную строку Windows. Запустите редактор реестра и перейдите в раздел
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
В современных ОС семейства Windows режим автодополнения путей при нажатии клавиши Tab уже настроен, но при необходимости, его можно перенастроить или восстановить.
Код символа Tab равен шестнадцатеричному числу 9 и его нужно задать в формате REG_DWORD для параметров CompletionChar и PathCompletionChar ( например, в Windows XP, значение 0x40 заменить на 0x9 ). Теперь, после перезапуска приложения командной строки, оцените преимущества подстановки части имен, выполнив следующие действия:
— перейти в корень диска C: CD C:\
— для перехода, например в каталог с длинным именем Program Files наберите
CD Pro и нажмите Tab. В строке ввода должна появиться команда :
CD «Program Files»
Как видим, кроме того, что выполняется подстановка недостающей части имени каталога, в тех случаях, когда в нем имеется символ пробела, добавляются еще и двойные кавычки.
Если имеется несколько совпадающих начальных частей имен файлов или каталогов, при каждом нажатии клавиши Tab будет подставляться следующее по алфавитному порядку имя. Для возврата на предыдущее — используется комбинация Shift+Tab
Правка реестра позволяет также изменить внешний вид окна командной строки, например, цвет фона и цвет символов, как это выполняется с помощью команды COLOR или ключа /T при запуске CMD.EXE. Расцветку определяют параметры
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\DefaultColor — для всех пользователей.
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DefaultColor — для текущего пользователя.
Значения параметров из раздела пользователя имеют больший приоритет, по сравнению с параметрами раздела HKEY_LOCAL_MACHINE
Если параметр DefaultColor имеет значение по умолчанию ( REG_DWORD 0x00000000 ), то цветовой набор определяется значением параметра
HKEY_CURRENT_USER\Console\ScreenColors.
На практике, изменение цвета фона окна и цвета символов лучше всего задавать значением параметра типа REG_DWORD:
HKEY_CURRENT_USER\Console\ScreenColors.
Младший байт этого параметра определяет цвета фона и текста, каждый из которых задается шестнадцатеричной цифрой. Старший бит определяет яркость, а последующие биты — цвет :
Бит 0 — яркость
Бит 1 — красный ( R )
Бит 2 — зеленый ( G )
Бит 3 — синий ( B )
Значения битов задают комбинацию цветов, так например, для желтого цвета используется установка битов 1 и 2 ( Красный и Зеленый). Старшие 4 бита ( тетрада ) определяют цвет фона, младшие — цвет текста. Каждая цифра тетрады может иметь следующие значения:
0 = Черный
1 = Синий
2 = Зеленый
3 = Голубой
4 = Красный
5 = Лиловый
6 = Желтый
7 = Белый
8 = Серый
9 = Светло-синий
A = Светло-зеленый
B = Светло-голубой
C = Светло-красный
D = Светло-лиловый
E = Светло-желтый
F = Ярко-белый
Примеры значений параметра ScreenColors:
F0 — «консоль наоборот” — черные символы на белом фоне.
20 — зеленый фон, черные символы.
A0 — яркий зеленый фон, черные символы.
9F — яркий синий фон, яркие белые символы.
Использование истории вводимых команд.
При работе в командной строке удобно использовать, полностью или частично, ранее введенные команды. Для вызова ранее введенных команд используются клавиши со стрелками Стрелка Вверх — на одну команду назад и Стрелка Вниз — на одну команду вперед. Кроме того, можно использовать функциональные клавиши:
F1 — посимвольный вызов последней введенной команды. Каждое нажатие F1 приводит к последовательной подстановке в поле ввода одного символа из предыдущей команды.
F2 — копирование до символа. После нажатия на F2 на экране отображается запрос символа, до которого будет скопирована предыдущая команда. Например, если предыдущая команда была ping yandex.ru, и в качестве символа задана точка, то в строку ввода команды будет занесено ping yandex, если задан пробел, то — ping.
F3 — вызов предыдущей команды.
F4 — удалить до символа. Выполняется удаление текста от текущей позиции курсора до заданного символа.
F5 и F8 — вызов буфера ранее введенных команд. Вывод по нажатию клавиши F5 прекращается когда будет отображена первая введенная команда текущей сессии.
F7 — отображение ранее введенных команд в отдельном окне в виде списка. Для выполнения нужной команды нужно выбрать ее, используя клавиши со стрелками, и нажать ENTER
F9 — выполнить команду, номер которой запрашивается. Номер команды в списке истории можно получить при использовании F7.
Особенности настройки параметров консоли для Windows 10
Как уже упоминалось выше, в операционных системах Windows 10 /Windows Server 2016 появились дополнительные настройки, расширяющие возможности командной строки и облегчающие ее использование. Новые возможности включены по умолчанию, однако в любой момент могут быть отключены через интерфейс свойств или при изменении параметров в реестре. Настройки новых возможностей хранятся ключах раздела HKEY_CURRENT_USER\Console и имеют тип данных DWORD. Настройки, установленные в свойствах ярлыка командной строки перекрывают настройки, задаваемые параметрами реестра.
Перечень новых ключей реестра и их назначение:
ForceV2 — 1 включает новые возможности, 0 – отключает. Этот параметр не запоминается в свойствах ярлыка и его значение хранится только в реестре.
LineSelection — 1 — разрешает выделение строк, 0 — отключает.
FilterOnPaste — 1 — включает фильтр содержимого буфера обмена при вставке. Позволяет отсечь служебные символы (табуляция, наклонные кавычки и т.п.), которые содержатся в буфере обмена и не могут применяться в командной строке.
LineWrap — 1 — разрешает перенос строк текста при изменении размера окна консоли.
CtrlKeyShortcutsDisabled — 0 разрешается использование комбинаций клавиш с CONTROL (CTRL+A, CTRL+C, CTRL+V и т.п.)
ExtendedEdit Keys — 1 — разрешает использование набора дополнительных клавиш для редактирования.
TrimLeadingZeros — 1 — при выделении числа двойным кликом, лидирующие нули отбрасываются (000123 – 123)
WindowsAlpha — установка прозрачности окна командной строки от 30% до 100%. Используется значение ключа реестра в виде шестнадцатеричного значения от 0x4C до 0xFF, или десятичного от 76 до 255
WordDelimiters — определяет символ-разделитель, который используется при выделении части текста комбинацией клавиш CTRL+SHIFT+ARROW. По умолчанию используется пробел. Ключ реестра имеет тип данных REG_SZ и может содержать несколько символов-разделителей. Этот параметр не запоминается в свойствах ярлыка и может храниться только в реестре.
Дополнительно :
Windows Terminal – альтернатива командной строке в Windows 10.
Список команд командной строки — список команд CMD Windows с описанием и примерами.
Командные файлы Windows — примеры создания командных файлов для решения типовых задач администрирования системы.
Работа с сетью в командной строке Windows — примеры использования командной строки для сетевой диагностики и управления сетью.
Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»
В начало страницы     |     На главную страницу сайта
Командная строка в Windows 7. Параметры командной строки. Запуск командной строки
Введение
Командная строка представляет собой одну из возможностей Windows, обеспечивающую ввод команд MS-DOS и других компьютерных команд. Важность этой командной строки состоит в том, что она позволяет выполнять задачи без помощи графического интерфейса Windows. Обычно командная строка используется только опытными пользователями.
При работе с командной строкой сам термин командная строка обозначает также и закрывающую угловую скобку (>, иначе: символ больше). Это указывает на то, что интерфейс командной строки может принимать команды. Другая важная информация, например текущий рабочий каталог (или расположение), где будет выполняться данная команда, может быть также указана в командной строке. Например, если при открытии окна командной строки в этой строке отображается текст «C:\>» и мигающий курсор справа от закрывающей угловой скобки (>), это означает, что введенная команда будет выполняться на всем диске С данного компьютера
Запуск Командной строки
Для запуска командной строки есть несколько способов:
- Запуск Командной строки из под текущего пользователя.
Нажмите Win+R или Пуск — Выполнить. Введите команду cmd и ОК
Как видим запуск Командной строки выполнен из под текущего пользователя.
- Запуск командной строки от имени администратора
Для выполнения некоторых команд могут потребоваться права администратора. Для запуска с правами администратора, необходимо сделать следующее: Пуск — Все программы — Стандартные — Командная строка. Жмем правую клавишу и выбираем Запуск от имени администратора.
Команды
Чтобы просмотреть список часто используемых команд, в командной строке введите help и нажмите клавишу ВВОД
Чтобы отобразить дополнительные сведения о каждой из этих команд, введите help имя_команды, где имя_команды — это имя команды, о которой нужно получить дополнительные сведения, например для команды ATTRIB. Эта команда позволяет просматривать, устанавливать или снимать атрибуты файла или каталога, такие как «Только чтение», «Архивный», «Системный» и «Скрытый». Выполненная без параметров команда attrib выводит атрибуты всех файлов в текущем каталоге
Пример: есть файл Report.txt, который находится на другом диске E, и чтобы задать ему атрибут только чтение, команда должна быть такой
attrib +r report.txt
Где:
- attrib — имя команды
- + — добавление атрибута
- r — имя атрибута «Только чтение»
- report.txt — имя файла
Если команда введена правильно, то после нажатия Enter, вид командной строки должен быть таким
Дополнительно
Дополнительные сведения об определенных командах смотрите в следующих разделах, посвященных справке по командной строке, на веб-сайте корпорации Майкрософт:
http://go.microsoft.com/fwlink/?LinkId=66683
http://go.microsoft.com/fwlink/?LinkId=63080
http://go.microsoft.com/fwlink/?LinkID=95301
Упрощаем запуск приложений в Windows 7 от имени администратора без отключения UAC
Аргументы командной строки Терминала Windows
- Чтение занимает 6 мин
В этой статье
Вы можете использовать wt.exe
для открытия нового экземпляра Терминала Windows из командной строки.You can use wt.exe
to open a new instance of Windows Terminal from the command line. Кроме того, также можно использовать псевдоним выполнения wt
.You can also use the execution alias wt
instead.
Примечание
Если вы создали Терминал Windows из исходного кода, приведенного на сайте GitHub, эту сборку можно открыть с помощью команды wtd.exe
или wtd
.If you built Windows Terminal from the source code on GitHub, you can open that build using wtd.exe
or wtd
.
Синтаксис командной строкиCommand line syntax
Командная строка wt
принимает два типа значений: параметры и команды.The wt
command line accepts two types of values: options and commands. Параметры — это список флагов и других параметров, которые могут управлять поведением командной строки wt
в целом.Options are a list of flags and other parameters that can control the behavior of the wt
command line as a whole. Команды представляют собой действие или список действий, разделенных точкой с запятой, которые необходимо реализовать.Commands provide the action, or list of actions separated by semicolons, that should be implemented. Если команда не указана, по умолчанию используется new-tab
.If no command is specified, then the command is assumed to be new-tab
by default.
wt [options] [command ; ]
Чтобы отобразить справочное сообщение со списком доступных аргументов командной строки, введите wt -h
, wt --help
, wt -?
или wt /?
.To display a help message listing the available command-line arguments, enter: wt -h
, wt --help
, wt -?
, or wt /?
.
Параметры и командыOptions and commands
Ниже приведен полный список поддерживаемых команд и параметров для командной строки wt
.Below is the full list of supported commands and options for the wt
command line.
ПараметрOption | ОписаниеDescription |
---|---|
--help , -h , -? , /? --help , -h , -? , /? | Отображает справочное сообщение.Displays the help message. |
--maximized , -M --maximized , -M | Запускает терминал в развернутом режиме.Launches the terminal maximized. |
--fullscreen , -F --fullscreen , -F | Запускает терминал в полноэкранном режиме.Launches the terminal as full screen. |
КомандаCommand | ПараметрыParameters | ОписаниеDescription |
---|---|---|
new-tab | --profile, -p profile-name , --startingDirectory, -d starting-directory , commandline , --title --profile, -p profile-name , --startingDirectory, -d starting-directory , commandline , --title | Создает новую вкладку.Creates a new tab. |
split-pane | -H, --horizontal , -V, --vertical , --profile, -p profile-name , --startingDirectory, -d starting-directory , commandline , --title -H, --horizontal , -V, --vertical , --profile, -p profile-name , --startingDirectory, -d starting-directory , commandline , --title | Разделяет новую панель.Splits a new pane. |
focus-tab | --target, -t tab-index | Выделяет определенную вкладку.Focuses on a specific tab. |
Примеры аргументов командной строкиCommand line argument examples
Команды могут различаться в зависимости от используемой командной строки.Commands may vary slightly depending on which command line you’re using.
Открыть новый экземпляр профиляOpen a new profile instance
Чтобы открыть новый экземпляр терминала (в этом случае команда откроет профиль с именем Ubuntu-18.04), введитеTo open a new terminal instance, in this case the command will open the profile named «Ubuntu-18.04», enter:
wt -p "Ubuntu-18.04"
wt -p "Ubuntu-18.04"
cmd.exe /c "wt.exe" -p "Ubuntu-18.04"
Псевдонимы выполнения не работают в дистрибутивах WSL.Execution aliases do not work in WSL distributions. Если вы хотите использовать wt.exe из командной строки WSL, его можно создать непосредственно из CMD, запустив cmd.exe
.If you want to use wt.exe from a WSL command line, you can spawn it from CMD directly by running cmd.exe
. Параметр /c
указывает, что CMD должен завершить работу после выполнения.The /c
option tells CMD to terminate after running.
С помощью флажка -p
можно указать профиль Терминала Windows, который необходимо открыть.The -p
flag is used to specify the Windows Terminal profile that should be opened. Замените Ubuntu-18.04 именем любого установленного профиля терминала.Substitute «Ubuntu-18.04» with the name of any terminal profile that you have installed. При этом всегда будет открываться новое окно.This will always open a new window. В Терминале Windows пока нельзя открывать новые вкладки или панели в имеющемся экземпляре.Windows Terminal is not yet capable of opening new tabs or panes in an existing instance.
Назначить каталогTarget a directory
Чтобы указать папку, которая будет использоваться в качестве начального каталога для консоли (в данном случае каталог d:), введите:To specify the folder that should be used as the starting directory for the console, in this case the d:\ directory, enter:
wt -d d:\
wt -d d:\
cmd.exe /c "wt.exe" -d d:\
Псевдонимы выполнения не работают в дистрибутивах WSL.Execution aliases do not work in WSL distributions. Если вы хотите использовать wt.exe из командной строки WSL, его можно создать непосредственно из CMD, запустив cmd.exe
.If you want to use wt.exe from a WSL command line, you can spawn it from CMD directly by running cmd.exe
. Параметр /c
указывает, что CMD должен завершить работу после выполнения.The /c
option tells CMD to terminate after running.
Несколько вкладокMultiple tabs
Чтобы открыть новый экземпляр терминала с несколькими вкладками, введите:To open a new terminal instance with multiple tabs, enter:
wt ; ;
wt `; `;
В PowerShell для разделения инструкций используется точка с запятой (;).PowerShell uses a semicolon ; to delimit statements. Для интерпретации точки с запятой (;) в качестве разделителя команд для аргументов командной строки wt необходимо экранировать символы точки с запятой с помощью обратных апострофов.To interpret a semicolon ; as a command delimiter for wt command-line arguments, you need to escape semicolon characters using backticks. В PowerShell также имеется оператор прекращения анализа (—%), который дает команду остановить любую интерпретацию и выполнить передачу буквально.PowerShell also has the stop parsing operator (—%), which instructs it to stop interpreting anything after it and just pass it on verbatim.
cmd.exe /c "wt.exe" \; \;
Псевдонимы выполнения не работают в дистрибутивах WSL.Execution aliases do not work in WSL distributions. Если вы хотите использовать wt.exe из командной строки WSL, его можно создать непосредственно из CMD, запустив cmd.exe
.If you want to use wt.exe from a WSL command line, you can spawn it from CMD directly by running cmd.exe
. Параметр /c
указывает, что CMD должен завершить работу после выполнения.The /c
option tells CMD to terminate after running.
Чтобы открыть новый экземпляр терминала с несколькими вкладками (в данном случае профиль Командной строки и профиль PowerShell), введите:To open a new terminal instance with multiple tabs, in this case a Command Prompt profile and a PowerShell profile, enter:
wt -p "Command Prompt" ; new-tab -p "Windows PowerShell"
wt -p "Command Prompt" `; new-tab -p "Windows PowerShell"
В PowerShell для разделения инструкций используется точка с запятой (;).PowerShell uses a semicolon ; to delimit statements. Для интерпретации точки с запятой (;) в качестве разделителя команд для аргументов командной строки wt необходимо экранировать символы точки с запятой с помощью обратных апострофов.To interpret a semicolon ; as a command delimiter for wt command-line arguments, you need to escape semicolon characters using backticks. В PowerShell также имеется оператор прекращения анализа (—%), который дает команду остановить любую интерпретацию и выполнить передачу буквально.PowerShell also has the stop parsing operator (—%), which instructs it to stop interpreting anything after it and just pass it on verbatim.
cmd.exe /c "wt.exe" -p "Command Prompt" \; new-tab -p "Windows Powershell"
Псевдонимы выполнения не работают в дистрибутивах WSL.Execution aliases do not work in WSL distributions. Если вы хотите использовать wt.exe из командной строки WSL, его можно создать непосредственно из CMD, запустив cmd.exe
.If you want to use wt.exe from a WSL command line, you can spawn it from CMD directly by running cmd.exe
. Параметр /c
указывает, что CMD должен завершить работу после запуска. Сочетание косой черты и точки с запятой \;
разделяет команды.The /c
option tells CMD to terminate after running and the \;
forward-slash + semicolon separates commands.
Несколько панелейMultiple panes
Чтобы открыть новый экземпляр терминала с одной вкладкой, содержащей три панели с профилем Командной строки, профилем PowerShell и профилем по умолчанию с командной строкой WSL, введите:To open a new terminal instance with one tab containing three panes running a Command Prompt profile, a PowerShell profile, and your default profile running a WSL command line, enter:
wt -p "Command Prompt" ; split-pane -p "Windows PowerShell" ; split-pane -H wsl.exe
wt -p "Command Prompt" `; split-pane -p "Windows PowerShell" `; split-pane -H wsl.exe
В PowerShell для разделения инструкций используется точка с запятой (;).PowerShell uses a semicolon ; to delimit statements. Для интерпретации точки с запятой (;) в качестве разделителя команд для аргументов командной строки wt необходимо экранировать символы точки с запятой с помощью обратных апострофов.To interpret a semicolon ; as a command delimiter for wt command-line arguments, you need to escape semicolon characters using backticks. В PowerShell также имеется оператор прекращения анализа (—%), который дает команду остановить любую интерпретацию и выполнить передачу буквально.PowerShell also has the stop parsing operator (—%), which instructs it to stop interpreting anything after it and just pass it on verbatim.
cmd.exe /c "wt.exe" -p "Command Prompt" \; split-pane -p "Windows PowerShell" \; split-pane -H wsl.exe
Псевдонимы выполнения не работают в дистрибутивах WSL.Execution aliases do not work in WSL distributions. Если вы хотите использовать wt.exe из командной строки WSL, его можно создать непосредственно из CMD, запустив cmd.exe
.If you want to use wt.exe from a WSL command line, you can spawn it from CMD directly by running cmd.exe
. Параметр /c
указывает, что CMD должен завершить работу после запуска. Сочетание косой черты и точки с запятой \;
разделяет команды.The /c
option tells CMD to terminate after running and the \;
forward-slash + semicolon separates commands.
Флажок -H
(или --horizontal
) указывает, что области должны разделяться по горизонтали.The -H
flag (or --horizontal
) indicates that you would like the panes to be split horizontally. Флажок -V
(или --vertical
) указывает, что панели должны разделяться по вертикали.The -V
flag (or --vertical
) indicates that you would like the panes split vertically.
Заголовок вкладки (предварительная версия)Tab title (Preview)
Чтобы открыть новый экземпляр терминала с пользовательскими заголовками вкладок, используйте аргумент --title
.To open a new terminal instance with custom tab titles, use the --title
argument. Чтобы задать заголовок для каждой вкладки при открытии двух вкладок, введите следующее:To set the title of each tab when opening two tabs, enter:
wt --title tabname1 ; new-tab -p "Ubuntu-18.04" --title tabname2
wt --title tabname1 `; new-tab -p "Ubuntu-18.04" --title tabname2
cmd.exe /c "wt.exe" --title tabname1 \; new-tab -p "Ubuntu-18.04" --title tabname2
Псевдонимы выполнения не работают в дистрибутивах WSL.Execution aliases do not work in WSL distributions. Если вы хотите использовать wt.exe из командной строки WSL, его можно создать непосредственно из CMD, запустив cmd.exe
.If you want to use wt.exe from a WSL command line, you can spawn it from CMD directly by running cmd.exe
. Параметр /c
указывает, что CMD должен завершить работу после запуска. Сочетание косой черты и точки с запятой \;
разделяет команды.The /c
option tells CMD to terminate after running and the \;
forward-slash + semicolon separates commands.
Фокус вкладкиTab focus
Чтобы открыть новый экземпляр терминала с определенной вкладкой в фокусе, установите флажок -t
(или --target
), а также индекс вкладки.To open a new terminal instance with a specific tab in focus, use the -t
flag (or --target
), along with the tab-index number. Чтобы открыть профиль по умолчанию на первой вкладке и профиль Ubuntu-18.04 в фокусе на второй вкладке (-t 1
), введите:To open your default profile in the first tab and the «Ubuntu-18.04» profile focused in the second tab (-t 1
), enter:
wt ; new-tab -p "Ubuntu-18.04" ; focus-tab -t 1
wt `; new-tab -p "Ubuntu-18.04" `; focus-tab -t 1
cmd.exe /c "wt.exe" \; new-tab -p "Ubuntu-18.04" \; focus-tab -t 1
Псевдонимы выполнения не работают в дистрибутивах WSL.Execution aliases do not work in WSL distributions. Если вы хотите использовать wt.exe из командной строки WSL, его можно создать непосредственно из CMD, запустив cmd.exe
.If you want to use wt.exe from a WSL command line, you can spawn it from CMD directly by running cmd.exe
. Параметр /c
указывает, что CMD должен завершить работу после запуска. Сочетание косой черты и точки с запятой \;
разделяет команды.The /c
option tells CMD to terminate after running and the \;
forward-slash + semicolon separates commands.
Примеры нескольких команд из PowerShellExamples of multiple commands from PowerShell
В Терминале Windows используется символ точки с запятой ;
в качестве разделителя команд в командной строке wt
.Windows Terminal uses the semicolon character ;
as a delimiter for separating commands in the wt
command line. К сожалению, PowerShell также использует ;
в качестве разделителя команд.Unfortunately, PowerShell also uses ;
as a command separator. Чтобы решить эту проблему, воспользуйтесь следующими рекомендациями по запуску нескольких команд wt
из PowerShell.To work around this, you can use the following tricks to run multiple wt
commands from PowerShell. Во всех приведенных ниже примерах создается окно терминала с тремя панелями: одна с Командной строкой, вторая с PowerShell, а третья с WSL.In all the following examples, a new terminal window is created with three panes — one running Command Prompt, one with PowerShell, and the last one running WSL.
В следующих примерах для запуска wt
используется команда Start-Process
.The following examples use the Start-Process
command to run wt
. Дополнительные сведения о причинах использования Start-Process
в терминале см. в разделе Использование start.For more information on why the terminal uses Start-Process
, see Using start below.
Параметры с одинарными кавычкамиSingle quoted parameters
В этом примере параметры wt
заключаются в одинарные кавычки ('
).In this example, the wt
parameters are wrapped in single quotes ('
). Этот синтаксис полезен при отсутствии вычислений.This syntax is useful if nothing is being calculated.
start wt 'new-tab "cmd" ; split-pane -p "Windows PowerShell" ; split-pane -H wsl.exe'
Экранированные кавычкиEscaped quotes
При передаче значения, содержащегося в переменной, в командную строку wt
используйте следующий синтаксис:When passing a value contained in a variable to the wt
command line, use the following syntax:
$ThirdPane = "wsl.exe"
start wt "new-tab cmd ; split-pane -p `"Windows PowerShell`" ; split-pane -H $ThirdPane"
Обратите внимание на использование `
для экранирования двойных кавычек ("
) вокруг «Windows PowerShell» в параметре -p
для параметра split-pane
.Note the usage of `
to escape the double-quotes ("
) around «Windows PowerShell» in the -p
parameter to the split-pane
parameter.
Использование start
Using start
Во всех приведенных выше примерах start
явно используется для запуска терминала.All the above examples explicitly used start
to launch the terminal.
В следующих примерах start
не используется для запуска командной строки.The following examples do not use start
to run the command line. Вместо этого можно воспользоваться двумя другими методами экранирования командной строки:Instead, there are two other methods of escaping the command line:
- Экранирование лишь точки с запятой, в результате чего
PowerShell
проигнорирует их и передаст непосредственно вwt
.Only escaping the semicolons so thatPowerShell
will ignore them and pass them straight towt
. - Использование
--%
, в результате чего PowerShell будет обрабатывать оставшуюся часть командной строки как аргументы для приложения.Using--%
, so PowerShell will treat the rest of the command line as arguments to the application.
wt new-tab "cmd" `; split-pane -p "Windows PowerShell" `; split-pane -H wsl.exe
wt --% new-tab cmd ; split-pane -p "Windows PowerShell" ; split-pane -H wsl.exe
В обоих примерах Терминал Windows создаст окно, правильно обработав все указанные аргументы командной строки.In both of these examples, the newly created Windows Terminal window will create the window by correctly parsing all the provided command-line arguments.
Однако в настоящее время эти методы не рекомендуемы к использованию, так как PowerShell будет ожидать закрытия созданного окна терминала перед возвратом управления в PowerShell.However, these methods are not recommended currently, as PowerShell will wait for the newly-created terminal window to be closed before returning control to PowerShell. По умолчанию PowerShell всегда ожидает закрытия приложений Магазина Windows (например, Терминала Windows) перед возвратом к командной строке.By default, PowerShell will always wait for Windows Store applications (like Windows Terminal) to close before returning to the prompt. Обратите внимание, что это поведение отличается от поведения средства «Командная строка», которое немедленно возвращается к командной строке.Note that this is different than the behavior of Command Prompt, which will return to the prompt immediately.
начало | Документы Microsoft
- 2 минуты на чтение
В этой статье
Запускает отдельное окно командной строки для запуска указанной программы или команды.
Синтаксис
начало [] [/ d ] [/ i] [{/ min | / max}] [{/ отдельный | / shared}] [{/ low | / нормальный | / высокий | / в реальном времени | / abovenormal | ниже нормы}] [/ affinity ] [/ wait] [/ elevate] [/ b] [ [ ...] | <Программа> [<Параметр> ...]]
Параметры
Параметр | Описание |
---|---|
<Название> | Задает заголовок, отображаемый в строке заголовка окна командной строки. |
/ d <Путь> | Задает каталог запуска. |
/ i | Передает среду запуска Cmd.exe в новое окно командной строки. Если / i не указан, используется текущая среда. |
/ мин | / макс | Указывает минимизировать ( / мин ) или развернуть ( / макс ) новое окно командной строки. |
/ отдельный | / общий | Запускает 16-битные программы в отдельной области памяти ( / отдельная ) или общей памяти ( / общая ).Эти параметры не поддерживаются на 64-битных платформах. |
/ низкий | / нормальный | / высокий | / в реальном времени | / abovenormal | / ниже нормы | Запускает приложение в указанном классе приоритета. Допустимые значения класса приоритета: / низкий , / нормальный , / высокий , / в реальном времени , / выше нормальный и / ниже нормального . |
/ affinity | Применяет указанную маску сродства процессора (выраженную в виде шестнадцатеричного числа) к новому приложению. |
/ ждать | Запускает приложение и ожидает его завершения. |
/ поднять | Запускает приложение от имени администратора. |
/ б | Запускает приложение без открытия нового окна командной строки. Обработка CTRL + C игнорируется, если приложение не разрешает обработку CTRL + C. Используйте CTRL + BREAK, чтобы прервать приложение. |
<Команда> | <Программа> | Задает команду или программу для запуска. |
<Параметр> … | Задает параметры, передаваемые команде или программе. |
/? | Отображает справку в командной строке. |
Замечания
Примеры
Чтобы запустить программу Myapp из командной строки и сохранить использование текущего окна командной строки, введите:
запустить myapp
Чтобы просмотреть раздел справки командной строки start в отдельном развернутом окне командной строки, введите:
пуск / макс старт /?
Дополнительные ссылки
.payneteasy / startup-parameters: парсить параметры запуска из переменных среды и системных опций
перейти к содержанию Зарегистрироваться- Почему именно GitHub?
Особенности →
- Обзор кода
- Управление проектами
- Интеграции
- Действия
- Пакеты
- Безопасность
- Управление командой
- Хостинг
- мобильный
- Истории клиентов →
- Безопасность →
- Команда
- Предприятие
- Проводить исследования
- Изучите GitHub →
Учитесь и вносите свой вклад
- Темы
- Коллекции
- В тренде
- Учебная лаборатория
- Руководства с открытым исходным кодом
Общайтесь с другими
- События
- Форум сообщества
Пуск — Запуск программы — Windows CMD
Пуск — Запуск программы — Windows CMD — SS64.comЗапуск программы, команды или пакетного сценария (открывается в новом окне).
Синтаксис START « название » [ / D путь ] [ опции ] « команда » [ параметры ] Ключ: заголовок Текст для строки заголовка окна CMD (обязательно). путь Начальный каталог. command Команда, командный файл или исполняемая программа для запуска. параметры Параметры, переданные команде . Параметры: / MIN Стартовое окно Свернуто. / MAX Начальное окно развернуто. / W или / WAIT Запустить приложение и дождаться его завершения. (увидеть ниже) / LOW Использовать класс приоритета IDLE. / NORMAL Использовать класс приоритета NORMAL. / ABOVENORMAL Использовать класс приоритета ABOVENORMAL./ BELOWNORMAL Использовать BELOWNORMAL приоритетный класс. / HIGH Использовать высокий приоритет класса. / REALTIME Использовать класс приоритета REALTIME.
/ B Запустить приложение без создания нового окна. В таком случае Ctrl-C будет проигнорирован - оставив Ctrl-Break как единственный способ прервать приложение. / I Игнорировать любые изменения в текущей среде. Используйте исходную среду, переданную в cmd.Exe / NODE Предпочтительная неоднородная архитектура памяти (NUMA) узел как десятичное целое число. / AFFINITY Маска сродства процессора в виде шестнадцатеричного числа. Процесс будет запущен только на этих процессорах. Опции только для 16-битных программ WINDOWS / SEPARATE Запуск в отдельной области памяти. (более надежный) только 32 бита. / SHARED Начало в области общей памяти. (по умолчанию) только 32 бит.
Всегда включайте НАЗВАНИЕ это может быть простая строка, например «Мой сценарий», или просто пара пустых кавычек «»
Согласно документации Microsoft, title является необязательным, но в зависимости от других выбранных опций у вас могут возникнуть проблемы, если он будет опущен.
Если команда является внутренней командой cmd или пакетным файлом, тогда командный процессор запускается с переключателем / K на cmd.exe. Это означает, что окно останется после выполнения команды.
В пакетном сценарии команда START без / wait запустит программу и просто продолжит работу, поэтому сценарий, содержащий только команду START, закроет консоль CMD и оставит новую программу запущенной.
Файлы документов могут быть вызваны через их ассоциацию файлов, просто набрав
имя файла в виде команды.
например START «» MarchReport.DOC запустит приложение, связанное с файлом .DOC.
расширение и загрузите документ.
Чтобы свести к минимуму вероятность запуска неправильного исполняемого файла, укажите полный путь к команде или, как минимум, укажите расширение файла: START «» notepad .exe
Если вы ЗАПУСКАЕТЕ приложение без расширения файла (например, WinWord вместо WinWord.exe), тогда будет считана переменная среды PATHEXT для определения
какие расширения файлов искать и в каком порядке.
Значение по умолчанию для переменной PATHEXT:.COM; .EXE; .BAT; .CMD
Старт / Ожидание
Поведение START / Wait будет зависеть от запускаемого элемента, например
Запуск эха НАЧАТЬ / ждать "демо" calc.exe Echo DoneВышеупомянутый калькулятор запустит и подождет, прежде чем продолжить. Однако, если вы замените calc.exe на Winword.exe, чтобы запустить Word, то / wait перестанет работать, потому что Winword.exe — это заглушка, которая запускает основное приложение Word, а затем завершает работу.
Аналогичная проблема возникает при запуске командного файла, по умолчанию START запускает эквивалент CMD / K, который открывает второе командное окно и оставляет его открытым. В большинстве случаев вам нужно, чтобы пакетный сценарий завершился, а затем просто закройте его консоль CMD и возобновите начальный пакетный сценарий. Это можно сделать, явно запустив CMD / C …
Запуск эха НАЧАТЬ / ждать "демо" CMD / c demoscript.cmd Echo DoneAdd / B, чтобы все работало в одном окне.
В пакетном файле альтернативой является использование TIMEOUT для задержки обработки отдельных команд.
START и CALL
Запуск нового процесса с помощью CALL очень похож на запуск START / wait, в обоих случаях вызывающий сценарий (обычно) приостанавливается, пока не завершится второй сценарий.
Запуск нового процесса с помощью CALL будет выполняться в той же среде оболочки, что и вызывающий сценарий. Для приложения с графическим интерфейсом это не имеет значения, но второй «вызываемый» пакетный файл сможет изменять переменные и передавать эти изменения обратно вызывающей стороне.
Для сравнения: START создаст экземпляр новой оболочки CMD.exe для вызываемого пакета. Это унаследует переменные от вызывающей оболочки, но любые изменения переменных будут отменены, когда закончится второй скрипт.
Запустить программу
Чтобы запустить новую программу (не пакетный сценарий), вам не нужно использовать CALL или START, просто введите путь / файл, который будет выполняться, либо в командной строке, либо в пакетном сценарии. Это будет вести себя следующим образом:
- В командной строке CMD.EXE не ждет завершения работы приложения, и управление немедленно возвращается в командную строку.
- При запуске программы из пакетного сценария CMD.EXE приостанавливает выполнение исходного сценария и ожидает завершения работы приложения перед продолжением.
- Если вы запускаете один пакетный сценарий из другого без , используя CALL или START, то первый сценарий завершается, а второй берет на себя.
Многопроцессорные системы
Сродство к процессору назначается шестнадцатеричным числом, но вычисляется из двоичных позиций (аналогично NODRIVES)
Шестнадцатеричные двоичные процессоры
1 00000001 Proc 1
3 00000011 Proc 1 + 2
7 00000111 Процесс 1 + 2 + 3
C 00001100 Proc 3 + 4 и т. Д.Указание / NODE позволяет создавать процессы таким образом, чтобы использовать локальность памяти в системах NUMA .Например, два процесса, которые активно взаимодействуют друг с другом через общую память, могут быть созданы для совместного использования одного и того же предпочтительного узла NUMA, чтобы минимизировать задержки памяти. По возможности они выделяют память из одного и того же узла NUMA и могут работать на процессорах за пределами указанного узла.
start / NODE 1 app1.exe
начало / УЗЕЛ 1 app2.exeЭти два процесса могут быть дополнительно ограничены для работы на определенных процессорах в одном узле NUMA.
В следующем примере app1 работает на двух младших процессорах узла, а app2 работает на следующих двух процессорах узла. В этом примере предполагается, что указанный узел имеет как минимум четыре логических процессора. Обратите внимание, что номер узла может быть изменен на любой допустимый номер узла для этого компьютера без изменения маски соответствия.
начало / УЗЕЛ 1 / AFFINITY 0x 3 app1.exe
начало / УЗЕЛ 1 / AFFINITY 0x c app2.exe
Запуск исполняемого файла (.EXE) файлы
Когда файл, содержащий заголовок .exe, вызывается из командной строки или командного файла (с или без START), он открывается как исполняемый файл. Расширение имени файла не обязательно должно быть .EXE. Заголовок исполняемых файлов начинается с «волшебной последовательности» символов ASCII «MZ» (0x4D, 0x5A). «MZ» — это инициалы Марка Зибовски, сотрудника Microsoft на момент разработки формата файла.
Расширения команд
Если включены командные расширения, вызов внешней команды через командную строку или команду START изменяется следующим образом:
Неисполняемые файлы могут быть вызваны через их ассоциацию файлов, просто введя имя файла в качестве команды.(например, WORD.DOC запустит приложение, связанное с расширением файла .DOC). Это основано на настройке в HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .ext \ OpenWithList, или, если это не указано, то на ассоциациях файлов — см. ASSOC и FTYPE.
При выполнении командной строки, первым токеном которой является строка CMD без расширения или квалификатора пути, CMD заменяется значением переменной COMSPEC. Это предотвращает получение CMD.EXE из текущего каталога.
При выполнении командной строки, первый токен которой НЕ содержит расширения, CMD.EXE использует значение переменной среды COMSPEC. Это предотвращает получение CMD.EXE из текущего каталога.
При выполнении командной строки, первый токен которой НЕ содержит расширения, CMD.EXE использует значение переменной среды PATHEXT, чтобы определить, какие расширения искать и в каком порядке. Значение по умолчанию для переменной PATHEXT:.COM; .EXE; .BAT; .CMD Обратите внимание, что синтаксис такой же, как у переменной PATH, с точкой с запятой, разделяющей различные элементы.
При поиске исполняемого файла, если ни одно из расширений не найдено, проверяет, совпадает ли имя с именем каталога. Если это так, команда START запускает Проводник по этому пути. Если это делается из командной строки, это эквивалентно выполнению CD / D по этому пути.
Уровни ошибок
Если команда успешно запущена ERRORLEVEL = без изменений , обычно это будет 0, но если предыдущая команда установила уровень ошибки, он будет сохранен (это ошибка).
Если команда не запускается, то ERRORLEVEL = 9059
START / WAIT batch_file — вернет УРОВЕНЬ ОШИБКИ, указанный в EXIT
Примеры
Запустить свернутый сценарий входа в систему:
ЗАПУСК «Мой сценарий входа» / мин. Login.cmd
Запустите программу и дождитесь ее завершения, прежде чем продолжить:
ПУСК «» / ожидание autocad.exe
Откройте файл с помощью определенной программы:
НАЧАТЬ «» «C: \ Program Files \ Microsoft Office \ Winword.exe «» D: \ Docs \ demo.txt «
Откройте проводник Windows и перечислите файлы в текущей папке (.):
C: \ любой \ старый \ каталог> НАЧАТЬ.
Откройте веб-страницу в браузере по умолчанию, обратите внимание, что требуется протокол (https: //)
НАЧАЛО
https://ss64.com
Открыть веб-страницу в Microsoft Edge:
% windir% \ explorer.exe microsoft-edge: https: //ss64.com
Подключиться к новому принтеру: (это настроит подключение / драйвер для печати)
START \\ print_server \ printer_name
Запустите приложение и укажите, где будут сохраняться файлы (рабочий каталог):
Блокнот START / D C: \ Documents \ / MAX «Максимальные заметки».exe
START — внутренняя команда.
«Не запускать; презрение, бегающее по пятам »~ Шекспир, Венецианский купец
Связанный:
Вызов процесса WMIC create «c: \ some.exe», «c: \ exec_dir» — этот метод возвращает PID запущенного процесса.
CALL — Вызов одной пакетной программы из другой.
CMD — может использоваться для вызова следующей партии и ВСЕГДА
вернуть, даже если возникнут ошибки.
TIMEOUT — Задержка обработки командного файла / команды.
Команды RUN Пуск | Выполните команды.
ScriptRunner — запустить один или несколько скриптов.
Запустить сценарий — Как создать и запустить командный файл.
Powershell: Start-Process — запуск одного или нескольких процессов.
Q162059 — Открытие офисных документов.
Эквивалентная команда bash (Linux): open — открыть файл в приложении по умолчанию.
Эквивалентная команда для macOS: открыть — открыть файл в выбранном приложении.
Авторские права © 1999-2020 SS64.com
Некоторые права защищены .
Параметры / Аргументы — Windows CMD
Параметры / Аргументы — Windows CMD — SS64.comАргумент (или параметр) командной строки — это любое значение, переданное в пакетный сценарий:
C:> MyScript.cmd Январь 1234 г. «Некоторое значение»
Аргументы также могут быть переданы подпрограмме с помощью CALL:
ЗВОНИТЕ: my_sub 2468
Вы можете получить значение любого аргумента, используя%, за которым следует его числовая позиция в командной строке.Первый переданный элемент всегда% 1 второй элемент всегда% 2 и так далее
% * в пакетном сценарии относится ко всем аргументам (например,% 1% 2% 3% 4% 5 …% 255)
по номеру можно ссылаться только на аргументы от% 1 до% 9.
Расширение параметров
Когда аргумент используется для указания имени файла, то следующий может применяться расширенный синтаксис:
мы используем переменную% 1 (но это работает для любого параметра)
% ~ f1 Расширьте% 1 до полного имени пути — C: \ utils \ MyFile.txt
% ~ d1 Расширить% 1 только до буквы диска — C:% ~ p1 Расширить% 1 только до пути, например \ utils \ это включает завершающий \, который некоторыми командами будет интерпретироваться как escape-символ.
% ~ n1 Расширить% 1 до имени файла без расширения или пути — MyFile
или, если присутствует только путь, без обратной косой черты в конце, последняя папка на этом пути.% ~ x1 Расширить% 1 только до расширения файла — .txt
% ~ s1 Измените значение f, n, s и x для ссылки на Short 8.3 имя (если существует.)
% ~ 1 Разверните% 1, удалив все окружающие кавычки («)
% ~ a1 Отобразите атрибуты файла% 1
% ~ t1 Отобразите дату / время% 1
% ~ z1 Отображение размера файла% 1
% ~ $ PATH: 1 Найдите переменную среды PATH и раскройте% 1 до полного имени первого найденного совпадения.
Вышеуказанные модификаторы можно комбинировать:
% ~ dp1 Расширить% 1 до буквы диска и пути только
% ~ sp1 Расширить% 1 до пути, сокращенного до 8.3 символа
% ~ nx2 Расширить% 2 до имени файла и расширения только
Эти переменные параметра / аргумента всегда обозначаются одним ведущим%
Это отличается от обычных переменных, которые имеют как начальные, так и конечные символы%, такие как% variable% или командные переменные FOR, которые используют одинарный начальный% в командной строке или двойной начальный %% при использовании в пакетном файле.
Расширение параметра будет рассматривать полную остановку в имени каталога как расширение файла, поэтому для такого имени, как «Пример 2.6.4 «вывод% ~ n1 будет усечен до» Пример 2.6 «, чтобы получить полное имя папки, используйте% 1 или% ~ nx1
Если вывод DIR или имя файла без буквы диска / пути раскрывается для отображения полного пути% ~ f1, командная оболочка примет; часто неправильно; что файл находится в текущем каталоге. Оболочка CMD не считывает файловые дескрипторы и не работает с объектами файловой системы так, как это делает PowerShell, она обрабатывает простой список текстовых строк.
При написании пакетных сценариев рекомендуется хранить значения в именованной переменной SET _LogFile =% ~ dp1, тогда остальная часть сценария может ссылаться на легко читаемое имя переменной% _LogFile% Это также сделает жизнь проще, если вам позже потребуется изменить порядок параметров.
Токенизация
Токенизация аргументов командной строки не всегда выполняется оболочкой cmd.exe. Чаще всего токенизация выполняется средой выполнения вновь сформированных процессов, на уровне ОС Windows передает командную строку без проверки подлинности в виде единой строки новому процессу. Вы можете узнать больше о низкоуровневых деталях пакетного языка / cmd, избегая отличных ответов jeb и dbenham на этот вопрос StackOverflow.
Прохождение по ссылке
Помимо передачи числовых или строковых значений в командной строке, также можно передать имя переменной, а затем использовать переменную для передачи данных между сценариями или подпрограммами.Передача по ссылке — это немного более сложный метод, но он может быть особенно полезен, когда строка содержит символы, которые являются разделителями CMD или кавычками.
Ссылки относительно пакетного скрипта
Вы можете получить путь к самому пакетному сценарию с% 0, к нему могут быть применены расширения параметров, поэтому% ~ dp0 вернет диск и путь к пакетному сценарию, например. W: \ scripts \ и% ~ f0 вернет полный путь W: \ scripts \ mybatch.cmd
Вы можете обратиться к другим файлы в той же папке, что и пакетный сценарий, используя этот синтаксис:
ВЫЗОВ% 0 \ .. \ SecondBatch.cmdЭто можно даже использовать в подпрограмме, Echo% 0 даст метку вызова, но echo «% ~ nx0» даст вам имя файла пакетного сценария.
Когда переменная% 0 раскрывается, результат заключен в кавычки.
Используйте% ~ a1 для отображения расширенных атрибутов файла.
%% ~ aIFOR распознает 9 атрибутов файлов NTFS. Расширение атрибута файла дает серию из 9 тире, причем каждый распознанный атрибут заменяет тире буквой. Файл без распознанных атрибутов или без установленных атрибутов будет расширяться до 9 тире, например: ———
Расширение атрибутов FILE_ATTRIBUTE_DIRECTORY d -------- FILE_ATTRIBUTE_READONLY -r ------- FILE_ATTRIBUTE_ARCHIVE --a ------ FILE_ATTRIBUTE_HIDDEN --- ч ----- FILE_ATTRIBUTE_SYSTEM ---- s ---- FILE_ATTRIBUTE_COMPRESSED ----- c --- FILE_ATTRIBUTE_OFFLINE ------ o-- FILE_ATTRIBUTE_TEMPORARY ------- t- FILE_ATTRIBUTE_REPARSE_POINT -------- l FILE_ATTRIBUTE_NORMAL ---------Другие атрибуты NTFS, не распознаваемые %% ~ aI, можно прочитать с помощью команды FSUTIL usn:
FILE_ATTRIBUTE_ENCRYPTED
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
FILE_ATTRIBUTE_SPARSE_FILEПример: расширение файла с атрибутами Hidden и System:
— кс —-
Максимальная длина линии
Максимальная длина любой командной строки (или переменной) в CMD составляет 8191 символ.
Терминология: аргумент или параметр командной строки?
С математической точки зрения параметр — это «числовой или другой измеримый коэффициент» , поэтому обычно это число.
В терминологии программирования:
Параметр представляет собой значение, которое процедура ожидает от вас при вызове.
Аргумент представляет собой фактическое значение, которое вы передаете процедуре.На практике фразы аргумент и параметр , как правило, используются взаимозаменяемо, командные файлы CMD не выполняют никакой проверки типов.
ДЛЯ параметров
Команда FOR создает переменные параметров, которые обозначаются буквой, а не числом (например, %% G).
К ним также можно применить описанные выше расширения параметров.
Чтобы избежать путаницы между двумя наборами букв, избегайте использования букв (a, d, f, n, p, s, t, x, z) в качестве параметров FOR или просто выберите букву параметра FOR в ВЕРХНЕМ регистре.
Так, например, в ссылке типа %% ~ fG %% G является параметром FOR, а ~ f — расширением параметра.
Примеры:
Передавать параметры из одного пакета в другой:
MyBatch.cmd СМИТ 100
Или как часть ЗВОНИТЕ:
ВЫЗОВ MyBatch.cmd СМИТ 100
Получите размер файла C: \ demo \ sample.xlsx, используя расширение параметра% ~ z:
@ Эхо выключено Для %% G в ("C: \ demo \ sample.xlsx") установите _var = %% ~ zG Размер эхо-файла% _var%
Передача значений из одной части скрипта в другую:
:: Использование CALL для перехода к подпрограмме ЗВОНИТЕ: s_staff СМИТ 100 :: Вызов подпрограммы из команды FOR FOR / F %% G IN ('DIR / b *.* ') НЕОБХОДИМО вызвать: s_subroutine %% G
«Я пришел сюда для веского аргумента. Нет, вы этого не сделали, вы пришли сюда для аргумента» ~ Монти Пайтон
Связанный:
CALL — Вызов одной пакетной программы из другой.
CMD — запуск новой оболочки DOS (cmd.exe).
IF — Проверить наличие необходимых входных данных (не NULL).
ЗА — условно выполнить команду несколько раз.
SETLOCAL — управление видимостью переменных среды.
SHIFT — Сдвинуть позицию заменяемых параметров в пакетном файле.
StackOverflow — Скрипт для анализа необязательных аргументов от Дэйва Бенхама.
Как параметры командной строки анализируются Дэвидом Дели.
Ошибка при использовании ~ s для отображения коротких имен файлов / папок.
StackOverflow — Как интерпретатор команд Windows (CMD.EXE) анализирует сценарии?
Эквивалентная команда bash (Linux): dirname — преобразование полного пути в простой путь.
Авторское право © 1999-2020 SS64.com
Некоторые права защищены .