Команда START — запуск приложения в новом окне
Команда START позволяет запускать приложения в отдельном окне, с возможностью указания некоторых параметров их выполнения.
Формат командной строки:
START [«заголовок»] [/D путь] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | REALTIME| /ABOVENORMAL | /BELOWNORMAL] [/WAIT] [/B] [команда/программа] [параметры]
Параметры командной строки:
«заголовок» — заголовок окна. Обязательно в двойных кавычках.
путь — рабочий каталог.
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 (самый высокий приоритет).
WAIT — Запуск приложения с ожиданием его завершения.
ABOVENORMAL — Запуск приложения с классом приоритета ABOVENORMAL (выше стандартного)
BELOWNORMAL — Запуск приложения с классом приоритета BELOWNORMAL (ниже стандартного)
команда/программа — Если это внутренняя команда cmd.exe или пакетный файл, обработчик команд (cmd.exe) запускается с ключом /K. Это означает, что окно не будет закрыто после завершения команды. Если это не внутренняя команда cmd.exe и не пакетный файл, значит, это программа, которая будет запущена в графическом или текстовом окне.
параметры — Параметры, передаваемые команде/программе.
Для вызова неисполняемых файлов через механизм сопоставления типов файлов достаточно просто ввести имя файла в командной строке. Например, команда
приведет к запуску текстового редактора NOTEPAD с открытием файла MYFILE.TXT. Сведения о создании подобных сопоставлений из пакетных файлов приведены в описаниях команд ASSOC и FTYPE.
При запуске 32-разрядного приложения с графическим интерфейсом пользователя обработчик команд CMD.EXE не ожидает завершения работы приложения перед возвратом к приглашению командной строки. Подобное новое поведение НЕ относится к запуску приложений из пакетных файлов.
При выполнении командной строки, первым элементом которой является текстовая строка «CMD» без расширения имени файла или указания пути, она заменяется значением переменной COMSPEC. Это предотвращает запуск CMD.EXE из текущей активной папки, если таковая программа там имеется.
Если первый элемент командной строки не содержит расширения имени файла, обработчик команд CMD.EXE использует значение переменной среды PATHEXT, чтобы определить расширения имен исполняемых файлов и порядок поиска нужного файла. По умолчанию для переменной PATHEXT задается значение:
Обратите внимание, что этот синтаксис подобен синтаксису для переменной PATH, то есть отдельные элементы разделяются точкой с запятой.
Если при поиске исполняемого файла нет соответствия ни одному из расширений, выполняется проверка соответствия указанного имени папки. Если имя папки соответствует указанному, то команда START запускает EXPLORER для этого пути. Если такое действие выполняется из командной строки, то оно эквивалентно выполнению команды CD /D для указанного пути. Так, например, команда
откроет папку 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:test@mail.ru — выполнится запуск почтового клиента в режиме подготовки электронного письма для адреса 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, и расчетной задачи, потребляющей значительную долю ресурсов центрального процессора, может возникнуть эффект подвисаний при работе с текстовым документом. Снижение же приоритета расчетной задачи создаст нормальные условия для работы пользователя на фоне ее работы.
Обратите внимание на то что заголовок окна можно опускать, но особенность обработки входных параметров командой start может привести к неожиданным результатам при попытке запуска программы, имя или путь которой содержит пробел(ы). Например, при попытке выполнить следующую команду:
start
Starts a separate Command Prompt window to run a specified program or command.
Syntax
Parameters
Parameter | Description |
---|---|
Specifies the title to display in the Command Prompt window title bar. | |
/d |
. ]]
Remarks
You can run non-executable files through their file association by typing the name of the file as a command.
If you run a command that contains the string CMD as the first token without an extension or path qualifier, CMD is replaced with the value of the COMSPEC variable. This prevents users from picking up cmd from the current directory.
If you run a 32-bit graphical user interface (GUI) application, cmd does not wait for the application to quit before returning to the command prompt. This behavior does not occur if you run the application from a command script.
If you run a command that uses a first token that does not contain an extension, Cmd.exe uses the value of the PATHEXT environment variable to determine which extensions to look for and in what order. The default value for the PATHEXT variable is:
Note that the syntax is the same as the PATH variable, with semicolons (;) separating each extension.
When searching for an executable file, if there is no match on any extension, start checks to see if the name matches a directory name. If it does, start opens Explorer.exe on that path.
Examples
To start the Myapp program at the command prompt and retain use of the current Command Prompt window, type:
To view the start command-line help topic in a separate maximized Command Prompt window, type:
The START command:
Windows NT 4/Windows 2000 Syntax
Starts a separate window to run a specified program or command.
START | [«title«] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME] [/WAIT] [/B] [command / program] [parameters] |
«title« | Title to display in window title bar |
/Dpath | Starting directory |
/I | The new environment will be the original environment passed to the cmd.exe and not the current environment. |
/MIN | Start window minimized |
/MAX | Start window maximized |
/SEPARATE | Start 16-bit Windows program in separate memory space |
/SHARED | Start 16-bit Windows program in shared memory space |
/LOW | Start application in the IDLE priority class |
/NORMAL | Start application in the NORMAL priority class |
/HIGH | Start application in the HIGH priority class |
/REALTIME | Start application in the REALTIME priority class |
/WAIT | Start application and wait for it to terminate |
/B | Start application without creating a new window. The application has ˆC handling ignored. Unless the application enables ˆC processing, ˆBreak is the only way to interrupt the application |
command / program | If it is an internal cmd command or a batch file then the command processor is run with the /K switch to cmd.exe. This means that the window will remain after the command has been run. If it is not an internal cmd command or batch file then it is a program and will run as either a windowed application or a console application. |
parameters | These are the parameters passed to the command/program |
If Command Extensions are enabled, external command invocation through the command line or the START command changes as follows:
Non-executable files may be invoked through their file association just by typing the name of the file as a command. (e.g. WORD.DOC would launch the application associated with the .DOC file extension).
See the ASSOC and FTYPE commands for how to create these associations from within a command script.
When executing an application that is a 32-bit GUI application, CMD.EXE does not wait for the application to terminate before returning to the command prompt. This new behavior does NOT occur if executing within a command script.
When executing a command line whose first token is CMD without an extension or path qualifier, then replaces CMD with the value of the COMSPEC variable, thus avoiding picking up random versions of CMD.EXE when you least expect them.
When executing a command line whose first token does NOT contain an extension, then CMD.EXE uses the value of the PATHEXT environment variable to determine which extensions to look for and in what order. The default value for the PATHEXT variable is:
Notice the syntax is the same as the PATH variable, with semicolons separating the different elements.
When executing a command, if there is no match on any extension, then looks to see if the name, without any extension, matches a directory name and if it does, the START command launches the Explorer on that path. If done from the command line, it is the equivalent to doing a CD /D to that path.
File Associations
The file associations for non-executable files are stored in the registry in the HKEY_CLASSES_ROOT hive.
The HKEY_CLASSES_ROOT\.ext entry (as created by the ASSOC command) points to the file type (e.g. Word.Document.12 for HKEY_CLASSES_ROOT\.docx ).
The details for the specified file type are also stored in the HKEY_CLASSES_ROOT hive under HKEY_CLASSES_ROOT\FileType (e.g. HKEY_CLASSES_ROOT\Word.Document.12 ).
In HKEY_CLASSES_ROOT\FileType\shell\open\command the «File Open» command is stored (e.g. «C:\Program Files\Microsoft Office\Office12\WINWORD.EXE» /n /dde for HKEY_CLASSES_ROOT\Word.Document.12\shell\open\command ).
Often we find «%1» in the commands associated with file types ( HKEY_CLASSES_ROOT\FileType\shell\open\command ).
In Windows 9x through 2000 (and possibly XP) this would evaluate to the short notation of the fully qualified path of the file of type FileType .
To get the long file name, use «%L» instead of «%1» .
I ran some tests in Windows 7 and found the following parameters for file associations:
Parameter | Evaluates to |
---|---|
%1 | Long fully qualified path of file |
%D | Long fully qualified path of file |
%H | 0 |
%I | :number:number |
%L | Long fully qualified path of file |
%S | 1 |
%V | Long fully qualified path of file |
%W | Long fully qualified path of parent folder |
So far I don’t have a clue as to what %H , %I and %S are for.
And it seems we can no longer get a short file name even if we want to.
For backward compatibility it would seem wise to stick with %1 , %L and %W (Thomas Rudloff confirmed that %W is valid in XP, but I haven’t tested in older Windows versions).
Related Stuff:
- Open folders in Explorer
- Use StartHow.bat to find the complete command line of the command that will be issued when a file is opened with the START command
page last uploaded: 2021-01-27, 16:12
Command extensions enable extra features in NT shells.
By default command extensions are enabled. However, to be absolutely sure that they are, either use SETLOCAL ENABLEEXTENSIONS within your NT shell scripts (batch files) or execute those scripts using CMD /X .
Likewise, you may disable command extensions using SETLOCAL DISABLEEXTENSIONS or CMD /Y .
Read my SETLOCAL page if you intend to use SETLOCAL extension switches.