Cmd запуск: Как запустить командную строку в Windows

запуск новой копии интерпретатора команд 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&nbsp Выполнение указанной команды (строки) с последующим завершением.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. Если выполняются все перечисленные ниже условия, то символы
кавычек в командной строке сохраняются:


— ключ /S отсутствует

— есть ровно два символа кавычек

— между ними нет других специальных символов, как то: &()@^|

— между ними имеются один или несколько пробелов

— строка, заключенная в кавычки, является именем исполнимого
файла.

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

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

HKEY_LOCAL_MACHINE\ Software\ Microsoft\Command Processor\AutoRun

и/или

HKEY_CURRENT_USER\ Software\ Microsoft\ Command Processor\AutoRun

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

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

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

HKEY_LOCAL_MACHINE\ Software\ Microsoft\Command Processor\ EnableExtensions

и/или

HKEY_CURRENT_USER\ Software\Microsoft\ Command Processor\ EnableExtensions

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

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

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


DEL или ERASE

COLOR

CD или CHDIR

MD или MKDIR

PROMPT

PUSHD

POPD

SET

SETLOCAL

ENDLOCAL

IF

FOR

CALL

SHIFT

GOTO

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

ASSOC

FTYPE


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

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

HKEY_LOCAL_MACHINE\ Software\ Microsoft\Command Processor\ DelayedExpansion

и/или

HKEY_CURRENT_USER\ Software\Microsoft\ Command Processor\ DelayedExpansion

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

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

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

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


HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Command Processor\ CompletionChar

HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Command Processor\ PathCompletionChar


и/или


HKEY_CURRENT_USER\ Software\Microsoft \Command Processor\ CompletionChar

HKEY_CURRENT_USER\ Software\Microsoft \Command Processor\ PathCompletionChar


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



Запуск указанной программы или команды в отдельном окне.





Команда START позволяет запускать приложения в отдельном окне, с возможностью указания некоторых параметров их выполнения.

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


START [«заголовок»] [/D путь] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH |
/REALTIME | /ABOVENORMAL | /BELOWNORMAL] [/NODE ] [/AFFINITY ] [/WAIT] [/B] [команда/программа] [параметры]

Для получения справочной информации используется команда start /?

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

«заголовок» — заголовок окна. Обязательно в двойных кавычках.

путь — рабочий каталог для запускаемого приложения.

B — запуск приложения без создания нового окна с отключением обработки сочетания клавиш CTRL+C. Если приложение не обрабатывает сочетание клавиш CTRL+C самостоятельно,
единственным способом его прерывания является использование сочетания клавиш CTRL+Break.

I — Новой средой станет исходная среда, переданная cmd.exe, а не текущая среда.

MIN — Запуск команды/программы в свернутом окне.

MAX — Запуск команды/программы в развернутом окне.

SEPARATE — Запуск 16-разрядной программы Windows в отдельной области памяти.

SHARED — Запуск 16-разрядной программы Windows в общей области памяти.

LOW — Запуск приложения с приоритетом IDLE (самый низкий приоритет).

NORMAL — Запуск приложения с приоритетом NORMAL.

HIGH — Запуск приложения с приоритетом HIGH.

REALTIME — Запуск приложения с приоритетом REALTIME (самый высокий приоритет).

NODE — Указывает предпочтительный узел NUMA в качестве десятичного целого числа.

AFFINITY — Содержит маску сходства процессора в виде шестнадцатеричного числа. Процесс будет выполняться только на этих процессорах. Маска сходства интерпретируется по-разному при совмещении параметров /AFFINITY и /NODE. Укажите маску сходства таким образом, как если бы маска процессора узла NUMA сдвинута вправо и начинается на нулевом бите. Выполнение этих процессов ограничено процессорами, общими для указанной маски сходства и узла NUMA. Если общих процессоров не существует, то выполнение процесса ограничено указанным узлом NUMA.

WAIT — Запуск приложения с ожиданием его завершения.

ABOVENORMAL — Запуск приложения с классом приоритета ABOVENORMAL (выше стандартного)

BELOWNORMAL — Запуск приложения с классом приоритета BELOWNORMAL (ниже стандартного)

команда/программа — Если это внутренняя команда cmd.exe или пакетный файл, обработчик команд (cmd. exe) запускается с ключом /K. Это означает, что окно не будет
закрыто после завершения команды. Если это не внутренняя команда cmd.exe и не пакетный файл, значит, это программа, которая будет запущена в графическом или текстовом окне.

параметры — Параметры, передаваемые команде/программе.

Примечание: параметры SEPARATE и SHARED не поддерживаются на 64-разрядных
платформах.

Параметры для мультипроцессорных систем /NODE и /AFFINITY не поддерживаются в операционной системе Windows Vista и более ранних версиях ОС Windows.

Указание параметра /NODE позволяет создавать процессы таким образом, чтобы
использовать память в системах NUMA. NUMA (Non-Uniform Memory Access — «Неравномерный доступ к памяти» или Non-Uniform Memory Architecture — «Архитектура с неравномерной памятью») — технология, используемая в многопроцессорных системах, использующих общую память. Технология NUMA впервые была реализована в процессорах Intel Xeon. Архитектура системы с NUMA — это множественные узлы, имеющие доступ как к своей локальной памяти, так и к памяти других узлов. Формально память разделяется на быструю локальную и относительно медленную удаленную (поэтому память и “неравномерная”).
Например, два процесса, которые взаимодействуют друг с другом через общую память, могут совместно использовать один и тот же предпочтительный узел NUMA для минимизации задержки памяти. Память выделяется из одного узла NUMA по возможности, что позволяет процессам
выполняться на процессорах вне указанного узла.

start /NODE 1 application1.exe

start /NODE 1 application2.exe

Эти процессы можно ограничить для выполнения на определенных процессорах в
одном узле NUMA. В следующем примере приложение application1 выполняется
на низкоприоритетных процессорах узла, а приложение application2 выполняется
на двух следующих процессорах узла. В этом примере предполагается, что
указанный узел имеет минимум четыре логических процессора. Обратите внимание
на то, что номер узла можно изменить на другой действительный номер для
компьютера без изменения маски сходства.

start /NODE 1 /AFFINITY 0x3 application1.exe

start /NODE 1 /AFFINITY 0xc application2.exe

Применительно к стандартным однопроцессорным, но многоядерным процессорам, практическое применение параметров /NODE и /AFFINITY заключается в возможности запуска приложений на конкретных ядрах CPU. Параметр /NODE для однопроцессорных систем всегда равен нулю, а параметр /AFFINITY определяют битовую маску выбора процессорных ядер. Подробнее – в примерах ниже.

Для вызова неисполняемых файлов через механизм сопоставления типов файлов
достаточно просто ввести имя файла в командной строке. Например, команда

START MYFILE.TXT

приведет к запуску текстового редактора NOTEPAD с открытием файла MYFILE.TXT.
Сведения о создании подобных сопоставлений из командных файлов приведены
в описаниях команд ASSOC и FTYPE.

При запуске приложения с графическим интерфейсом пользователя
обработчик команд CMD.EXE не ожидает завершения работы приложения перед
возвратом к приглашению командной строки. Подобное новое поведение НЕ
относится к запуску приложений из пакетных файлов.

При выполнении командной строки, первым элементом которой является текстовая
строка «CMD» без расширения имени файла или указания пути, она заменяется
значением переменной COMSPEC. Это предотвращает запуск CMD.EXE из
текущей активной папки, если таковая программа там имеется.

Если первый элемент командной строки не содержит расширения имени файла,
обработчик команд CMD.EXE использует значение переменной среды PATHEXT,
чтобы определить расширения имен исполняемых файлов и порядок поиска
нужного файла. По умолчанию для переменной PATHEXT задается
значение:

.COM;.EXE;.BAT;.CMD

Обратите внимание, что этот синтаксис подобен синтаксису для переменной
PATH, то есть отдельные элементы разделяются точкой с запятой.

Если при поиске исполняемого файла нет соответствия ни одному из расширений,
выполняется проверка соответствия указанного имени папки. Если имя папки
соответствует указанному, то команда START запускает EXPLORER для этого
пути. Если такое действие выполняется из командной строки, то оно
эквивалентно выполнению команды CD /D для указанного пути. Так, например, команда

start C:\windows

откроет папку C:\windows в окне проводника.

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

start /? — выдать справку об использовании команды.

start — при запуске без параметров будет открыто новое окно интерпретатора команд CMD.

start «My new CMD window» — как и в предыдущем случае, выполнится запуск CMD в новом окне, но в качестве заголовка окна будет отображаться текст My new CMD window

start devmgmt.msc — выполнится запуск по расширению .msc диспетчера устройств Windows.

start http://google.com — выполнится запуск обозревателя Интернет и откроется страница поисковика Google.

start mailto:[email protected] — выполнится запуск почтового клиента в режиме подготовки электронного письма для адреса test@mail. ru.

start /min notepad.exe — выполнится запуск блокнота в свернутом окне.

start «Backup Files» /min /belownormal mybackup.bat — запуск командного файла в свернутом окне с пониженным приоритетом.

start /abovenormal /MAX winword.exe — запуск редактора Microsoft Word в новом окне, развернутом на весь экран и с повышенным приоритетом.

start «» /high /MAX «C:\Program Files\Good game\MyGame» — запуск программы MyGame с высоким приоритетом.

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

Обратите внимание на то что заголовок окна можно опускать, но
особенность обработки входных параметров командой start может привести к
неожиданным результатам при попытке запуска программы, имя или путь которой содержит
пробел(ы). Например, при попытке выполнить следующую команду:

start «C:\Program Files\FAR\FAR.EXE»


Из-за наличия пробела в пути к исполняемому файлу,
строка для запуска FAR.EXE должна быть заключена в двойные
кавычки, однако формат входных параметров для start предполагает обязательное наличие заголовка окна, также заключаемого в двойные кавычки, в результате чего «C:\Program Files\FAR\FAR.EXE» интерпретируется не как исполняемая программа, а как заголовок окна, и команда START выполнит запуск интерпретатора CMD с заголовком окна «C:\Program Files\FAR\FAR. EXE» . Для того, чтобы подобного не случилось нужно
использовать любой, пусть даже пустой, заголовок:

start «» «C:\Program Files\FAR\FAR.EXE»

При выполнении запуска командных файлов с помощью команды start, окно интерпретатора команд (cmd.exe) запускается с параметром /K, т. е. после
выполнения команд в командном файле завершения cmd.exe не происходит. Например, имеется командный файл test.bat следующего содержания:

ECHO TEST

При его запуске командой start test.bat выполнится echo и окно командного процессора останется открытым в режиме ожидания
ввода команд пользователем. Этот факт нужно учитывать при использовании команды start в сценариях, выполняющихся автоматически без
вмешательства человека-оператора. Для закрытия окна CMD после выполнения командного файла достаточно в его конец добавить команду EXIT.

ECHO TEST

EXIT

Команда START кроме всего прочего, позволяет распределять процессорные ядра между запускаемыми приложениями. Иногда это позволяет решить проблему невозможности запуска устаревших приложений, разработанных еще во времена одноядерных систем. Например, старые игры, которые не запускаются с выдачей ошибки типа negative delta time, или зависают с искажением изображения или звука. Подобное наблюдается в некоторых модах S.T.A.L.K.E.R Shadow Of Chernobyl, когда могут возникать зависания при старте программы и при отображении основного меню игры. Запуск игры на одном ядре процессора, как правило, решает эти проблемы.

Для однопроцессорных систем параметр /NODE равен нулю, а параметр /AFFINITY определяют битовую маску для выбора ядер процессора:

0x1 – первое ядро.

0x2 – второе ядро.

0x4 – третье ядро.

0x8 – четвертое ядро.

И так далее. Например, для запуска приложения Блокнот (notepad.exe) на третьем ядре процессора (битовая маска – 0100, или 4 в шестнадцатеричной системе счисления) нужно выполнить команду:

start /node 0 /affinity 0x4 notepad. exe

Для запуска приложения на первом и четвертом ядре (битовая маска – 1001, или 9 в шестнадцатеричной системе счисления):

start /node 0 /affinity 0x9 notepad.exe

Для выбора 2-го, 3-го и 4-го ядер – двоичная маска равна 1110 или числу 0xE в шестнадцатеричном виде.

start /node 0 /affinity 0xE notepad.exe

Для большинства версий команды START, параметр /NODE по умолчанию равен нулю и его можно не задавать:

start /affinity 0xE notepad.exe

Если маска не задана, или все ее биты равны единице, то приложение будет выполняться на всех ядрах процессора.


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



Пуск — Запустить программу — Windows CMD

Пуск — Запустить программу — Windows CMD — SS64.com

  • SS64
  • CMD
  • Практическое руководство

Запуск программы, команды или пакетного сценария, открывается в новом/отдельном окне командной строки.

 Синтаксис
      START " заголовок " [/D   путь ] [ опции ] " команда " [ параметры ]

Ключ:
     title  Текст для строки заголовка окна CMD (обязательно).
     путь  Начальный каталог.
     команда  Команда, пакетный файл или исполняемая программа для запуска.
     параметры  Параметры, переданные в команду   .

Опции:
   /MIN Стартовое окно Свернуто.
   /MAX Стартовое окно развернуто.
   /W или /WAIT Запустить приложение и дождаться его завершения.
                (Смотри ниже)

   /LOW Использовать класс приоритета IDLE.
   /NORMAL Использовать класс приоритета NORMAL.
   /ВЫШЕНОРМАЛЬНЫЙ Использовать класс приоритета ВЫШЕНОРМАЛЬНЫЙ.
   /BELOWNORMAL Использовать класс приоритета НИЖЕНОРМАЛЬНЫЙ.
   /HIGH Использовать класс ВЫСОКОГО приоритета.
   /REALTIME Использовать класс приоритета REALTIME. 
/B Запустить приложение без создания нового окна. В таком случае Ctrl-C будет игнорироваться, оставив Ctrl-Break как единственный способ прерывание приложения. /I Игнорировать любые изменения текущей среды, обычно вносимые с помощью SET. Использовать исходную среду, переданную в cmd.exe /NODE Предпочтительная неоднородная архитектура памяти (NUMA) узел как десятичное целое число. /AFFINITY Маска сходства процессоров в виде шестнадцатеричного числа. Процесс будет ограничен запуском на этих процессорах. Параметры только для 16-разрядных программ WINDOWS /SEPARATE Начать в отдельном пространстве памяти. (более надежный) только 32 бит. /SHARED Запуск в общей памяти. (по умолчанию) только 32 бита.

Всегда включайте НАЗВАНИЕ это может быть простая строка, например «Мой сценарий» или просто пара пустых кавычек «»
Согласно документации Microsoft, заголовок является необязательным, но в зависимости от других выбранных параметров у вас могут возникнуть проблемы, если его опустить.

Если команда является внутренней командой 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 по умолчанию заключается в создании экземпляра нового процесса, который выполняется параллельно с основным процессом. По загадочным техническим причинам это не работает для некоторых типов исполняемых файлов, в этих случаях процесс будет действовать как блокировщик, приостанавливая основной скрипт до его завершения.

На практике вам просто нужно протестировать его и посмотреть, как он себя ведет.

Часто эту проблему можно обойти, создав однострочный пакетный сценарий (runme.cmd) для запуска исполняемого файла, а затем вызвав этот сценарий с помощью START runme.cmd

Старт/Подождите

Параметр /WAIT должен обратить вспять поведение по умолчанию «параллельный запуск» START, но опять же ваши результаты будут различаться в зависимости от запускаемого элемента, например:

 Эхо запуска
НАЧАТЬ / ждать "демонстрационный" calc.exe
Эхо Готово 

Приведенное выше действие запустит калькулятор и подождет, прежде чем продолжить. Однако, если вы замените calc.exe на Winword.exe, чтобы вместо этого запустить Word, /wait перестанет работать, потому что Winword.exe — это заглушка, которая запускает основное приложение Word, а затем завершает работу.

Аналогичная проблема возникает при запуске пакетного файла, по умолчанию START запустит эквивалент CMD /K, который открывает второе командное окно и оставляет его открытым. В большинстве случаев вам потребуется завершить пакетный сценарий, а затем просто закрыть его консоль CMD, чтобы возобновить первоначальный пакетный сценарий. Это можно сделать, явно запустив CMD /C …

 Эхо запуска
НАЧАТЬ / ждать "демо"  CMD /c  demoscript.cmd
Эхо Готово 

Добавьте /B, чтобы все запускалось в одном окне.

В пакетном файле альтернативой является использование TIMEOUT для задержки обработки отдельных команд.

СТАРТ против ЗВОНКА

Запуск нового процесса с помощью CALL очень похож на запуск START /wait, в обоих случаях вызывающий сценарий (обычно) приостанавливается до завершения второго сценария.

Запуск нового процесса с помощью CALL будет выполняться в той же среде оболочки, что и вызывающий сценарий. Для приложения с графическим интерфейсом это не имеет значения, но второй «вызванный» пакетный файл сможет изменять переменные и передавать эти изменения обратно вызывающей стороне.

Для сравнения, START создаст новую оболочку CMD.exe для вызываемого пакета. Это унаследует переменные от вызывающей оболочки, но любые изменения переменных будут отброшены, когда второй сценарий завершится.

Запустить программу

Чтобы запустить новую программу (не пакетный сценарий), вам не нужно использовать CALL или START, просто введите путь/файл для выполнения либо в командной строке, либо в пакетном сценарии. Это будет вести себя следующим образом:

  • В командной строке CMD.EXE не ожидает завершения работы приложения и управление немедленно возвращается в командную строку.
  • Запуск программы из пакетного сценария, CMD. EXE приостановит выполнение исходного сценария и дождется завершения работы приложения, прежде чем продолжить.
  • Если вы запускаете один пакетный сценарий из другого без с помощью CALL или START, то первый сценарий завершается, а второй вступает во владение.

Многопроцессорные системы

Привязка процессора назначается в виде шестнадцатеричного числа, но рассчитывается на основе двоичных позиций (аналогично NODRIVES)

Шестнадцатеричный двоичный        Процессоры
1 00000001 Процедура 1
3 00000011 Процедура 1+2
7 00000111 Процесс 1+2+3
C 00001100 Процедура 3+4 и т. д.

Указание /NODE позволяет создавать процессы таким образом, чтобы использовать локальность памяти в системах NUMA . Например, два процесса, которые интенсивно взаимодействуют друг с другом через общую память, могут быть созданы для совместного использования одного и того же предпочтительного узла NUMA, чтобы свести к минимуму задержки памяти. Они выделяют память из того же узла NUMA, когда это возможно, и могут свободно работать на процессорах за пределами указанного узла.

запуск /NODE 1 app1.exe
запуск /NODE 1 app2.exe

Эти два процесса могут быть дополнительно ограничены для запуска на определенных процессорах в одном узле NUMA.

В следующем примере приложение app1 выполняется на двух младших процессорах узла, а приложение app2 выполняется на следующих двух процессорах узла. В этом примере предполагается, что указанный узел имеет как минимум четыре логических процессора. Обратите внимание, что номер узла можно изменить на любой допустимый номер узла для этого компьютера без изменения маски сходства.

запуск /NODE 1 /AFFINITY 0x 3 app1.exe
start /NODE 1 /AFFINITY 0x c app2.exe

Запуск исполняемых файлов (.EXE)

Когда файл, содержащий заголовок .exe, вызывается из приглашения CMD или пакетного файла (с 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

СТАРТ — это внутренняя команда.

Примеры

Запустить сценарий входа в свернутом виде:
НАЧАТЬ «Мой сценарий входа» /Min Login.cmd

Запустите программу и дождитесь ее завершения, прежде чем продолжить:
ЗАПУСК «» /wait 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
или с жестко заданным путем:
«C:\Program Files (x86)\Microsoft Edge\Application\msedge. exe»
https://ss64.com

Подключитесь к новому принтеру: (это установит соединение/драйвер печати)

START \\print_server\имя_принтера

Запустите приложение и укажите, где будут сохраняться файлы (Рабочий каталог):
START /D C:\Documents\ /MAX «Развернутые заметки» notepad.exe

«Не бежать; презрение бежит на каблуках» ~ Шекспир, «Венецианский купец»

Связанные команды:

Вызов процесса WMIC create «c:\some.exe», «c:\exec_dir» — этот метод возвращает PID запущенного процесса.
ВЫЗОВ — Вызов одной пакетной программы из другой.
CMD — может использоваться для вызова последующего пакета и ВСЕГДА возврата, даже если возникают ошибки.
ТАЙМ-АУТ — Задержка обработки пакетного файла/команды.
ЗАГОЛОВОК — изменить заголовок, отображаемый над окном CMD.
Команды RUN Пуск | Выполнить команды.
ScriptRunner — запустить один или несколько сценариев.
Запустить скрипт — Как создать и запустить пакетный файл.
Q162059 — Открытие офисных документов.
Эквивалент PowerShell: Start-Process — запуск одного или нескольких процессов.
Эквивалентная команда bash (Linux): open — открыть файл в приложении по умолчанию.
Эквивалентная команда macOS: open — открыть файл в выбранном приложении.


 

Copyright © 1999-2022 SS64.com
Некоторые права защищены

CMD.exe (командная оболочка) — Windows CMD

CMD.exe (командная оболочка) — Windows CMD — SS64.com

  • SS64
  • CMD
  • Практическое руководство

Запустите новую оболочку CMD и (необязательно) запустите командную/исполняемую программу.

 Синтаксис
      CMD [ кодировка ] [ опции ]

      CMD [ кодировка ] [ опции ] [/C  Команда ]

      CMD [ кодировка ] [ опции ] [/K  Команда  ]

Опции
   /C Выполнить  Команда  и затем завершить

   /K Выполнить  Команда  и затем оставаться открытой в командной строке CMD. 
          Это полезно для тестирования, например. исследовать переменные.

     Команда  : Команда, программа или пакетный сценарий для запуска.
             Это может быть даже несколько команд, разделенных символом «&».
             (целое также должно быть заключено в "кавычки")

   /Т:  fg  Устанавливает цвета переднего плана/фона
   
   /A Вывод символов ANSI.
   /U Вывод символов UNICODE (файл UCS-2).

          Эти параметры будут влиять на конвейер или перенаправление в файл.
          Наиболее распространенными текстовыми файлами являются ANSI, используйте эти переключатели, когда
          вам нужно преобразовать набор символов.

   /D Игнорировать команды автозапуска реестра
          ХКЛМ | HKCU\Software\Microsoft\Command Processor\AutoRun

   /E:ON Включить расширения команд CMD (по умолчанию)
   /X Включить расширения команд CMD (старый переключатель для совместимости)
   /E:OFF Отключить расширения команд CMD
   /Y Отключить расширения команд CMD (старый переключатель для совместимости)

   /F:ON Включить автозаполнение имен путей, введенных в командной строке CMD. 
   /F:OFF Отключить автозаполнение имен путей, введенных в командной строке (по умолчанию) 

В командной строке Ctrl-D дает завершение имени fol d er и
Ctrl-F дает F завершение имени файла и папки.

Эти нажатия клавиш отобразят
первый совпадающий путь. После этого повторное нажатие той же кнопки
key будет циклически проходить по списку совпадающих путей. Нажатие SHIFT
с помощью клавиши управления будет перемещаться по списку назад.

 /Q Отключить эхо

/S Strip " кавычки символов от 9Команда 0014.
Если команда начинается с кавычек, первая и последняя кавычки в команде
будет удален независимо от того, указан ли /s или нет.

/V:ON Включить отложенное раскрытие переменной среды
это позволяет циклу FOR указывать !variable! вместо %переменная%
расширение переменной во время выполнения, а не во время ввода.

/В:ВЫКЛ.
Отключите отложенное расширение среды.
Расширение среды с задержкой также можно установить с помощью SETLOCAL 9.0039

Если указано /C или /K, оставшаяся часть командной строки
обрабатывается как немедленная команда в новой оболочке. Несколько команд
разделенные разделителем команд '&' или '&&' принимаются, если они заключены в кавычки.

В проводнике Windows вы можете ввести «cmd» в адресной строке, чтобы открыть приглашение в текущем местоположении.
Дополнительные сведения об оболочке CMD: QuickEdit, передача кавычек, максимальная длина строки и т. д. см. на странице Синтаксис CMD.

Если вы запустите вторую вложенную оболочку CMD (или PowerShell), она будет добавлена ​​к НАЗВАНИЮ окна CMD/терминала. раковины у вас открыты.

Уровень ошибки

CMD /C вернет уровень ошибки, например, CMD /c dir Z: где диск Z: не существует, вернет %errorlevel% = 1 вызывающей оболочке CMD.

Запуск CMD/пакетных файлов из пути UNC

Хотя большинство утилит командной строки полностью поддерживают пути UNC, их нельзя задать в качестве текущего каталога. Запуск пакетного файла из пути UNC неявно запустит CMD.exe с этим путем UNC, что часто будет возвращать ошибку: путь является недопустимым текущим путем к каталогу. Пути UNC не поддерживаются. По умолчанию каталог Windows.
Это может быть опасно, если ваш пакетный файл делает какие-либо предположения о текущем каталоге,
например если он включает строку DEL *.ico, файлы .ico будут удалены из каталога Windows, а не из папки, в которой находится пакетный файл.
Если вы уверены, что это не повлияет на пакетный файл, вы можете подавить ошибку одним из двух способов: добавить команду CLS в первую строку пакетного сценария или добавить раздел реестра DisableUNCCheck, как описано в Q156276.

В качестве альтернативы запустите пакетный файл с помощью pushd "%~dp0"
Это изменит каталог на расположение вашего пакетного файла (%0), а для путей UNC автоматически создаст временную карту дисков.

Запуск CMD/пакетных файлов из PowerShell

При вызове CMD из PowerShell оператор --% можно использовать для управления тем, когда символы $ и выражения в кавычках будут интерпретироваться/расширяться PowerShell:

cmd. exe --% /c каталог "C:\financial $accounts\" /w

Все, что слева от --%, будет расширено:

$folder = 'C:\financial $accounts\'
cmd.exe /c каталог $папка --% /w

Наследство

Новый сеанс CMD.exe может быть создан несколькими способами: явным запуском нового сеанса CMD из существующей оболочки CMD, вызовом пакетного файла или неявным созданием экземпляра, вызванным передачей команды или запуском команды FOR /F.

Во всех этих случаях новым сеансом CMD наследуются только значения переменных среды. Состояние отложенного расширения, состояние расширения команды и состояние эха вернутся к состоянию по умолчанию на основе реестра.
Дополнительные сведения о наследовании и расширении см. в этой ветке StackOverflow.

Расширения команд

Отключение расширений команд может повлиять на работу внутренних команд CMD, а также удалит большинство динамических/изменчивых переменных среды ( %CD% %DATE% %TIME% %RANDOM% %ERRORLEVEL% %CMDEXTVERSION% %CMDCMDLINE% %HIGHESTNUMANODENUMBER% )

Расширения команд включены по умолчанию.
Это можно изменить
установив значение в реестре: HKCU\Software\Microsoft\Command Processor\EnableExtensions
Команда
Расширения также можно включить или отключить, запустив CMD /e:on или CMD /e:off
.
или запустите SETLOCAL EnableExtensions (SetLocal будет иметь приоритет)

Тема на форуме: Проверка доступности расширений команд.
StackOverflow: Подробная информация об изменениях при отключении расширений.

Примеры

Запустите программу и передайте параметр имени файла:
CMD /c write.exe c:\docs\sample.txt

Запустить программу и передать длинное имя файла:
CMD /c write.exe "c:\sampledocuments\sample.txt"

пробелов в пути к программе:
CMD /c ""c:\Program Files\Microsoft Office\Office\Winword.exe""

Пробелы в пути к программе + параметры:
CMD /c ""c:\Program Files\demo.cmd"" Parameter1 Param2

Пробелы в пути к программе + параметры с пробелами:
CMD /k ""c:\batch files\demo. cmd" "Параметр 1 с пробелом" "Параметр2 с пробелом""

CMD удалит внешние кавычки, если в начале и в конце есть двойная кавычка, поэтому вы также можете обмануть и написать выше как:
CMD /k @"c:\batch files\demo.cmd" "Параметр 1 с пробелом" "Параметр2 с пробелом"

Запустить демонстрацию 1, а затем запустить демонстрацию 2:
CMD /c ""c:\Program Files\demo1.cmd" & "c:\Program Files\demo2.cmd""

«Тот, кто может командовать собой, командует другими» — Хэзлитт

Связанные команды:

CMD Shell — Советы по работе в CMD-оболочке Windows.
EXIT — используйте это, чтобы закрыть оболочку CMD и вернуться.
ВЫЗОВ - Вызов одной пакетной программы из другой.
START - Запустить программу, команду или пакетный файл.
DOSKEY - Редактировать командную строку, вызывать команды.
CMD Internal — Команды, которые являются внутренними для оболочки CMD.
WT — Терминал Windows.
Q156276 - Cmd не поддерживает имена UNC в качестве текущего каталога.

Читайте также: