Чи є спосіб виконати програму, не чекаючи в пакетному файлі? Я спробував 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"
Я використовував для цього start / b замість просто запуску, і він пробігав без вікна для кожної команди, тому очікування не було.
Якщо start
ви не можете знайти те, що шукаєте, він робить те, що ви описуєте.
Оскільки те, що ви робите, має спрацювати, дуже ймовірно, що ви залишаєте деякі цитати (або додаєте додаткові).
start
-ed вcall
-ed .bat-файлі B (який в свою чергу викликався з A ), а C залишається відкритим після завершення B (скажімо C - це послуга або щось, що просто чекає, коли щось станеться, і не має фіксованої кінцевої точки, поки ОС не вимкнеться), батьківський A, який містив,call
може не змогти завершити, як очікувалося, якщо процес C не завершиться , або вбитий. Ось простий приклад: codepad.org/KLglXDnZ