Пакетный скрипт 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 & и затем выйти.

588   6  

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>" 

использовать start notepad.exe.

подробнее с start /?.

%ComSpec% /c %systemroot%\notepad.exe

самый простой способ - просто начать его с start

start notepad.exe

здесь вы можете найти более подробную информацию о start

Мда... я делаю это в одном из моих пакетных файлов, как это, без использования вызова или запуска:

%SystemRoot%\notepad.exe ..\%URI%
GOTO ENDF

У меня нет Cygwin установлен, хотя и я на Windows XP.

попробуйте запустить path\to\cygwin\bin\bash.exe

Comments

    Ничего не найдено.