Запустите программу из командной строки, не открывая новое окно
Я пытаюсь программно выполнить внешний файл из CMD с помощью этой команды:
START "filepath"
Где filepath - путь к моему файлу. Он открывается нормально, но также открывает новое окно командной строки.
Итак, какая команда подходит для открытия внешних программ без открытия нового окна?
10 ответов
В Windows 7 первые цитаты будут заголовком окна CMD, чтобы открыть программу.
Start "title" "C:\path\program.exe"
Форматирование вашей команды, как описано выше, временно откроет окно CMD, которое исчезает так же быстро, как и появляется, так что вы действительно никогда его не увидите.
Подобное форматирование вашей команды также позволяет вам открывать более одной программы, не дожидаясь, пока первая закроется первой.
Добавьте /B, как описано в справке командной строки для запуска:
C:\>start /?
Starts a separate window to run a specified program or command.
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
[command/program] [parameters]
"title" Title to display in window title bar.
path Starting directory.
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.
Я думаю, что если вы закрыли программу
taskkill /f /im "winamp.exe"
//....(winamp.exe is example)...
конец, так что если вы хотите запустить программу, которую вы можете использовать
start "" /normal winamp.exe
(/ norma, /max/min - это значение процесса)
ТАКЖЕ
если вы хотите командную строку, не открывая новое окно, вы пишете, что
/ B - запуск приложения без создания нового окна. Приложение игнорирует обработку ^C. Если приложение не разрешает обработку ^C, ^Break - единственный способ прервать приложение.
Просто удалите двойную кавычку, это работает в Windows 7:
start C:\ProgramFiles\folderName\app.exe
Если вы хотите увеличить окно, попробуйте это:
start /MAX C:\ProgramFiles\folderName\app.exe
Ваша команда START "filepath"
запустит командную строку и изменит название командной строки на filepath
,
Попробуй запустить start /?
в командной строке Windows, и вы получите больше информации.
20190907
ОС: Win 10
Я делаю exe на С ++, по какой-то причине при нажатии START моя программа не работает.
Итак, просто используйте кавычки:
"c:\folder\program.exe"
Если вы делаете это через CMD, как вы говорите, то вы можете просто ввести команду так:
path\to\your.exe
который откроет его в том же окне. Например, в C++:
system("path\\to\\your.exe"); // Double backslash for escaping
откроется your.exe
в текущем окне CMD. Аналогично, чтобы начать с нового окна, просто перейдите к:
system("start path\\to\\your.exe");
Если вы выберете первый вариант, вам придется очистить экран, если вы не хотите иметь команду, чтобы открыть your.exe
на экране все еще.
Вы можете использовать call
команда...
Тип: call /?
Использование: call [drive:][path]filename [batch-parameters]
Например call "Example File/Input File/My Program.bat"
[Это также возможно для вызова файлов, которые имеют .exe, .cmd, .txt и т. Д.
ПРИМЕЧАНИЕ: ЭТА КОМАНДА НЕ ВСЕГДА РАБОТАЕТ!!!
Не все компьютеры способны выполнять эту команду, но если она работает, то она очень полезна, и вам не придется открывать новое окно...
Проще и безопаснее использовать explorer.exe для запуска файлов / исполняемых файлов, он также открывает файлы со связанной программой и запускает исполняемые файлы напрямую, если вы выполните:
start "" "%windir%\explorer.exe" "C:\Path\To\some.pdf"
Если
*.PDF
файлы не связаны с какой-либо программой. Это работает аналогично двойному щелчку и запускает диалоговое окно «Открыть с помощью программы».
start "" "%windir%\explorer.exe" "%windir%\system32\calc.exe"
Поднимет калькулятор.
start "" "%windir%\explorer.exe" "C:\pagefile.sys"
Появится предупреждение вроде: Вы пытаетесь открыть системный файл (*.sys) ... выберите программу ...
Важный
explorer.exe всегда требует полного пути к исполняемому файлу / файлу, а не относительного пути. Если вы хотите использовать относительные пути, используйте
start "" "%windir%\explorer.exe" "relative\file.pdf","C:\dir\"
Связанные с безопасностью
С использованием
start "" "some\file.dat"
будет пытаться выполнить файл как бинарный файл и запустить его, если это возможно. Это может закончиться проблемами, связанными с безопасностью. Вы можете проверить это, создав копию
cmd.exe
называя это
dummy.dat
и запустите его, используя
start dummy.dat
Я получил это работает от qkzhu, но вместо использования MAX измените его на MIN, и окно закроется очень быстро.
@echo off
cd "C:\Program Files (x86)\MySQL\MySQL Server 5.6\bin"
:: Title not needed:
start /MIN mysqld.exe
exit
1-Откройте вашу папку, содержащую ваше приложение в проводнике. 2-Нажмите SHIFT и щелкните правой кнопкой мыши в пустом пространстве. 3-Нажмите на "Открыть командное окно здесь". 4-Запустите ваше приложение. (вы можете ввести несколько первых символов имени приложения и нажать клавишу со стрелкой вверх или клавишу со стрелкой вниз)