Пакетный скрипт Windows запуск программы и выход из консоли
у меня есть пакетный скрипт, который я использую для запуска программы, такие как notepad.exe. Когда я дважды нажимаю на этот пакетный файл, Блокнот запускается нормально, но черное окно cmd кто запустил notepad.exe остается в фоновом режиме. Что мне нужно сделать, чтобы запустить notepad.exe и заставить окно cmd исчезнуть?
edit: это сложнее, чем с помощью I.
The cmd звонки cygwin и cygwin начинается notepad. Я использую
start I pathcygwinbinbash.exe
и первое окно (cmd) исчезает, но второе окно (cygwinbinbash.exe) все еще находится на заднем плане. В скрипте cygwin я использовал notepad.exe & и затем выйти.
6 ответов:
start "" "%SystemRoot%\Notepad.exe"сохранить
""между запуском и путем приложения.
добавлен объяснение:
обычно, когда мы запускаем программу из пакетного файла, как показано ниже, у нас будут черные окна на заднем плане, как сказал OP.
%SystemRoot%\Notepad.exeэто было вызвано блокнотом, запущенным в той же командной строке (процесс). Командная строка закроется после закрытия Блокнота. Чтобы избежать этого, мы можем использовать
startкоманда to начните отдельный процесс, как это.start %SystemRoot%\Notepad.exeэта команда прекрасна, пока она не имеет места в пути. Чтобы обрабатывать пространство в пути на всякий случай, мы добавили
"кавычками.start "%SystemRoot%\Notepad.exe"однако выполнение этой команды просто запустит еще одну пустую командную строку. Зачем? Если вы ищете в
start /?наstartкоманда распознает аргумент между"в качестве заголовка новой командной строки он будет запущен. Итак, чтобы решите это, у нас есть такая команда:start "" "%SystemRoot%\Notepad.exe"первый аргумент
""установить заголовок (который мы устанавливаем как пустой), и второй аргумент"%SystemRoot%\Notepad.exe"- это целевая команда для запуска (которая поддерживает пробелы в пути).Если вам нужно добавить параметры в команду, просто добавьте их в кавычки, т. е.:
start "" "%SystemRoot%\Notepad.exe" "<filename>"
самый простой способ - просто начать его с
startstart notepad.exeздесь вы можете найти более подробную информацию о
start
Мда... я делаю это в одном из моих пакетных файлов, как это, без использования вызова или запуска:
%SystemRoot%\notepad.exe ..\%URI% GOTO ENDFУ меня нет Cygwin установлен, хотя и я на Windows XP.
Comments