Czy istnieje sposób na wykonanie aplikacji bez czekania w pliku wsadowym? Wypróbowałem start
polecenie, ale po prostu tworzy nowe okno poleceń.
Czy istnieje sposób na wykonanie aplikacji bez czekania w pliku wsadowym? Wypróbowałem start
polecenie, ale po prostu tworzy nowe okno poleceń.
Odpowiedzi:
Zgaduję, ale twoje start
wezwanie prawdopodobnie wygląda tak:
start "\Foo\Bar\Path with spaces in it\program.exe"
Spowoduje to otwarcie nowego okna konsoli z tytułem „\ Foo \ Bar \ Path ze spacjami \ program.exe”.
Jeśli używasz start
czegoś, co jest (lub powinno być) otoczone cudzysłowami, musisz umieścić puste cudzysłowy jako pierwszy argument:
start "" "\Foo\Bar\Path with spaces in it\program.exe"
Dzieje się tak, ponieważ pierwszy znaleziony argument w cudzysłowiestart
interpretuje jako tytuł nowego okna konsoli.
start "Obligatory Atavistic Window Title" "\Foo\Bar\Path with spaces in it\program.exe"
Jeśli twój exe przyjmuje argumenty,
start MyApp.exe -arg1 -arg2
Użyłem do tego start / b zamiast po prostu start i działało bez okna dla każdego polecenia, więc nie było czekania.
Jeśli start
nie możesz znaleźć tego, czego szuka, robi to, co opisujesz.
Ponieważ to, co robisz, powinno działać, jest bardzo prawdopodobne, że pomijasz niektóre cytaty (lub wstawiasz dodatki).
start
w plikucall
-ed .bat B (który z kolei został wywołany z A ), a C pozostaje otwarte po zakończeniu B (powiedzmy C jest usługą lub czymś, co po prostu czeka, aż coś się wydarzy i nie ma ustalonego punktu końcowego, dopóki system operacyjny nie zostanie zamknięty), nadrzędny A, który zawierał,call
może nie być w stanie zakończyć zgodnie z oczekiwaniami, chyba że proces C zostanie zamknięty lub zabity. Oto prosty przykład: codepad.org/KLglXDnZ