2010-05-30 5 views
105

Czy istnieje sposób na wykonanie aplikacji bez oczekiwania w pliku wsadowym? Próbowałem polecenia start, ale po prostu tworzy nowe okno poleceń.Jak uruchomić aplikację bez oczekiwania w pliku wsadowym?

+0

Uwaga - dla tych, którzy robią zaangażowanych-owski rzeczy periodyczny skryptów Windows: jeśli proces ** C ** to '' 'start'''-ed w ciągu plik '' 'call'''' ed .bat ** B ** (który z kolei był wywoływany z ** A **), a ** C ** pozostaje otwarty po zakończeniu ** B ** (powiedzmy ** C ** jest usługą lub czymś, co tylko czeka na to, aby coś się wydarzyło i nie ma stałego punktu końcowego, dopóki system operacyjny się nie wyłączy), rodzic ** A **, który zawierał '' 'call''' może nie można zakończyć zgodnie z oczekiwaniami, chyba że proces ** C ** zostanie zamknięty lub zostanie zabity. Oto prosty przykład: http://codepad.org/KLglXDnZ – SeldomNeedy

Odpowiedz

2

Jeśli start nie może znaleźć tego, czego szuka, robi to, co opisujesz.

Ponieważ to, co robisz, powinno zadziałać, bardzo prawdopodobne jest, że pominiesz kilka cytatów (lub wprowadzisz dodatki).

+0

Tak, umieściłem dwa cytaty. Są one jednak wymagane w przypadku długich nazw ścieżek. Jak rozwiązać problem? –

+0

Edytuj swoje pytanie, aby pokazać nam polecenie, które się nie udaje. – egrunin

214

Robię przypuszczenie tutaj, ale twój start inwokacja prawdopodobnie wygląda tak:

start "\Foo\Bar\Path with spaces in it\program.exe" 

Spowoduje to otwarcie nowego okna konsoli, używając „\ Foo \ bar \ ścieżka ze spacjami w nim \ Program .exe "jako jego tytuł.

Jeśli używasz start z czymś, co jest (lub musi) być w cudzysłowie, trzeba stawiać pustych cytaty jako pierwszy argument:

start "" "\Foo\Bar\Path with spaces in it\program.exe" 

To dlatego start interpretuje pierwszy cytowany argument znajduje się jako tytuł okna dla nowego okna konsoli.

+8

Wielka wskazówka z podwójnymi cytatami przed faktyczną ścieżką. Nigdy bym tego nie zgadł. Dziękuję za podzielenie się. – alexandrudicu

+0

Tak, to brzydkie dziwactwo tego, jak działa "start". – Joey

+0

to pomogło. Użyłem również opcji/SEPARATE, jak wspomniano w http://ss64.com/nt/start.html – Ayusman

2

Jeśli exe przyjmuje argumentów,

start MyApp.exe -arg1 -arg2 
Powiązane problemy