Есть ли способ выполнить приложение без ожидания в командном файле? Я попробовал start
команду, но она просто создает новое командное окно.
Есть ли способ выполнить приложение без ожидания в командном файле? Я попробовал start
команду, но она просто создает новое командное окно.
Ответы:
Я делаю предположение здесь, но ваш start
вызов, вероятно, выглядит следующим образом:
start "\Foo\Bar\Path with spaces in it\program.exe"
Откроется новое окно консоли с именем «\ Foo \ Bar \ Path с пробелами в нем \ program.exe».
Если вы используете start
что-то, что (или должно быть) окружено кавычками, вам нужно поставить пустые кавычки в качестве первого аргумента:
start "" "\Foo\Bar\Path with spaces in it\program.exe"
Это потому, что start
интерпретирует первый аргумент в кавычках, который он находит, как заголовок окна для нового окна консоли.
start "Obligatory Atavistic Window Title" "\Foo\Bar\Path with spaces in it\program.exe"
Если ваш exe принимает аргументы,
start MyApp.exe -arg1 -arg2
Я использовал start / b вместо этого вместо start, и он запускался без окна для каждой команды, поэтому ждать не пришлось.
Если start
не можете найти то, что он ищет, он делает то, что вы описываете.
Поскольку то, что вы делаете, должно работать, очень вероятно, что вы пропускаете некоторые цитаты (или помещаете дополнения).
start
вcall
-ed .bat-файле B (который, в свою очередь, был вызван из A ), а C остается открытым после завершения B (скажем, C является службой или чем-то, что просто ожидает, когда что-то произойдет, и не имеет фиксированной конечной точки до тех пор, пока ОС не завершит работу), родительский объект A, который содержал,call
может быть не в состоянии завершиться, как ожидается, если процесс C не закрывается или не завершен. убит. Вот простой пример: codepad.org/KLglXDnZ