Подтвердить что ты не робот

Пакетная программа запуска script для Windows и консоль выхода

У меня есть пакет script, который я использую для запуска программы, например notepad.exe. Когда я дважды нажимаю на этот командный файл, блокнот запускается нормально, но черное окно cmd, которое запустило notepad.exe, остается в фоновом режиме. Что мне нужно сделать, чтобы запустить notepad.exe и заставить окно cmd исчезнуть?

изменить: сложнее, чем использовать \I.

cmd вызывает cygwin, а cygwin запускается notepad. Я использую

start \I \path\cygwin\bin\bash.exe

и первое окно (cmd) исчезает, но второе окно (\ cygwin\bin\ bash.exe) все еще находится на заднем плане. В cygwin script я использовал notepad.exe &, а затем выходил.

4b9b3361

Ответ 1

start "" "%SystemRoot%\Notepad.exe"

Держите "" между стартом и вашим приложением.


Добавлено объяснение:

Обычно, когда мы запускаем программу из пакетного файла, как показано ниже, у нас будут черные окна на заднем плане, как указано в OP.

%SystemRoot%\Notepad.exe

Это вызвало запуск Notepad в той же командной строке (процесс). Командная строка закроется после того, как блокнот закрыт. Чтобы этого избежать, мы можем использовать команду start, чтобы запустить отдельный процесс, подобный этому.

start %SystemRoot%\Notepad.exe

Эта команда прекрасна, поскольку она не имеет места в пути. Чтобы на всякий случай обрабатывать пространство в пути, мы добавили кавычки ", подобные этому.

start "%SystemRoot%\Notepad.exe"

Однако при запуске этой команды будет просто запущено еще одно пустую командную строку. Зачем? Если вы посмотрите на start /?, команда start распознает аргумент между " как заголовок новой командной строки, которую он будет запускать. Итак, чтобы решить это, у нас есть команда вроде этого:

start "" "%SystemRoot%\Notepad.exe"

Первым аргументом "" является установка заголовка (который мы устанавливаем как пустой), а второй аргумент "%SystemRoot%\Notepad.exe" - целевая команда для запуска (которая поддерживает пробелы в пути).

Если вам нужно добавить параметры в команду, просто добавьте их в кавычки, например:

start "" "%SystemRoot%\Notepad.exe" "<filename>" 

Ответ 2

Используйте start notepad.exe.

Дополнительная информация с start /?.

Ответ 3

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

Ответ 4

Самый простой способ - просто запустить его с помощью start

start notepad.exe

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

Ответ 5

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

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

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

Ответ 6

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