Команда start

Описание команды start

Команда start позволяет запустить указанную программу или команду в отдельном окне.

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

Вы можете запускать неисполняемые файлы через их файловую ассоциацию, введя имя файла в качестве команды. Для вызова неисполняемых файлов через механизм сопоставления типов файлов достаточно просто ввести имя файла в командной строке. Например, выполнив команду “start test.docx” будет запущено приложение, сопоставленное расширению имени файла .docx. Сведения о создании подобных сопоставлений из пакетных файлов приведены в описаниях команд ASSOC и FTYPE.

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

При запуске 32-разрядного приложения с графическим пользовательским интерфейсом (GUI), обработчик команд CMD.EXE не будет ожидать завершения работы приложения перед возвратом к приглашению командной строки. Это поведение не возникает, если вы запускаете приложение из командного сценария.

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

.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

Получить значение переменной PATHEXT можно выполнив команду “echo %PATHEXT%”

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

Команда start при выполнении ищет указанный исполняемый файл, и если он будет найден, исполняемый файл запустится независимо от текущего рабочего каталога.

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

start c:\users

откроет папку c:\users в окне проводника.

Выполнение команда start с параметры /SEPARATE и /SHARED не поддерживаются на 64-разрядных платформах.

Указание параметра /NODE позволяет создавать процессы таким образом, чтобы использовать местоположение памяти в системах NUMA (англ. Non-Uniform Memory Access «неравномерный доступ к памяти» или Non-Uniform Memory Architecture «архитектура с неравномерной памятью») — схема реализации компьютерной памяти, используемая в мультипроцессорных системах, когда время доступа к памяти определяется её расположением по отношению к процессору. 

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

start /NODE 1 soft1.exe

start /NODE 1 soft2.exe

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

В следующем примере приложение soft1 выполняется на двух низкоприоритетных процессорах узла, а приложение soft2 выполняется на двух следующих процессорах узла. Тут предполагается, что указанный узел имеет минимум четыре логических процессора. Также стоит обратить внимание на то, что номер узла можно изменить на другой действительный номер для компьютера без изменения маски сходства.

start /NODE 1 /AFFINITY 0x3 soft1.exe

start /NODE 1 /AFFINITY 0xc soft2.exe

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

  • 0x1 – первое ядро.
  • 0x2 – второе ядро.
  • 0x4 – третье ядро.
  • 0x8 – четвертое ядро.
  • И так далее.

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

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

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

START ["заголовок"] [/D путь] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL] [/NODE <узел NUMA>] [/AFFINITY <шестнадцатеричная маска сходства>] [/WAIT] [/B] [команда/программа] [параметры]

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

«заголовок»Заголовок окна. Отображаемый в строке заголовка окна командной строки.
/D путьИсходный каталог.
/IПередает среду запуска Cmd.exe в новое окно командной строки. Если параметр /i не указан, используется текущая среда.
/MINЗапуск команды или программы в свернутом окне.
/MAXЗапуск команды или программы в развернутом окне.
/SEPARATEЗапуск 16-разрядной программы Windows в отдельной области памяти.
/SHAREDЗапуск 16-разрядной программы Windows в общей области памяти.
/LOWЗапуск приложения с приоритетом IDLE. (Низкий)
/NORMALЗапуск приложения с приоритетом NORMAL. (Обычный)
/HIGHЗапуск приложения с приоритетом HIGH. (Высокий)
/REALTIMEЗапуск приложения с приоритетом REALTIME. (Реального времени)
/ABOVENORMALЗапуск приложения с классом приоритета ABOVENORMAL. (Выше среднего)
/BELOWNORMALЗапуск приложения с классом приоритета BELOWNORMAL. (Ниже среднего)
/NODE <узел NUMA>Указывает предпочтительный узел NUMA в качестве десятичного целого числа.
/AFFINITY <шестнадцатеричная маска сходства>Указывает маску сходства процессора в виде шестнадцатеричного числа. Процесс будет выполняться только на этих процессорах.
Маска сходства интерпретируется по-разному при совмещении параметров /AFFINITY и /NODE. Укажите маску сходства таким образом, как если бы маска процессора узла NUMA сдвинута вправо и начинается на нулевом бите. Выполнение этого процесса ограничено процессорами, общими для указанной маски сходства и узла NUMA. Если общих процессоров не существует, то выполнение процесса ограничено указанным узлом NUMA.
/WAITЗапуск приложения с ожиданием его завершения.
/BЗапуск приложения без создания нового окна с отключением обработки сочетания клавиш CTRL+C. Если приложение не обрабатывает сочетание клавиш CTRL+C самостоятельно, единственным способом его прерывания является использование сочетания клавиш CTRL+BREAK.
команда/программаЕсли это внутренняя команда cmd.exe или пакетный файл, обработчик команд (cmd.exe) запускается с ключом /K. Это означает, что окно не будет закрыто после завершения команды.
Если это не внутренняя команда cmd.exe и не пакетный файл, значит, это программа, которая будет запущена в оконном или консольном приложении.
параметрыПараметры, передаваемые команде или программе.
/?Отображение справки в командной строке.

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

start calcЗапустит программу calc из командной строки.
start /max start /?Отобразит раздел справки по командной строке в отдельном окне командной строки с развернутым окном.
start «Новое окно CMD»Выполнит запуск CMD в новом окне и в качестве заголовка будет отображаться текст «Новое окно CMD».
start http://reg.ruВыполнится запуск обозревателя Интернет и откроется сайт reg.ru.
start /min notepad.exeВыполнится запуск блокнота в свернутом окне.
start services.mscВыполнится запуск по расширению .msc диспетчер Служб.
start «Backup» /min /belownormal backup.batЗапустит файл backup.bat в свернутом окне с заданием заголовка «Backup»  и с пониженным приоритетом.
start /abovenormal /MAX winword.exeЗапустит редактора Microsoft Word в новом окне, развернутом на весь экран и с приоритетом Выше среднего.
start /node 0 /affinity 0x2 notepad.exeЗапустит приложения Блокнот (notepad.exe) на втором ядре процессора.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *