Ответ 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>"