2012-02-06 26 views
10

Próbuję uruchomić niektóre pliki aplikacji .exe konsoli z pliku wsadowego w systemie Windows.Uruchamianie wielu aplikacji konsoli z pliku wsadowego

Jednak, kiedy uruchomić następujący kod tylko rozpoczyna pierwszą z aplikacji:

"C:\Development\App\bin\Debug1\Application.exe" 
timeout 5 
"C:\Development\App\bin\Debug2\Application.exe" 
timeout 5 
"C:\Development\App\bin\Debug3\Application.exe" 
timeout 5 
"C:\Development\App\bin\Debug4\Application.exe" 
timeout 5 
"C:\Development\App\bin\Debug5\Application.exe" 
timeout 5 

(podaję timeout rozłożyć intial przetwarzanie trochę)

Czy istnieje sposób, aby uzyskać plik skryptu, aby uruchomić pierwszą aplikację, a następnie przejść i rozpocząć inne?

Idealnie chciałbym, aby plik skryptu uruchamiał wszystkie aplikacje w podkatalogu, więc gdybym miał Debug\Applications\*.exe lub podobny, uruchamiałbym wszystkie aplikacje typu .exe (i ewentualnie czekając 5 sekund między nimi). czy to możliwe?

Odpowiedz

22

można uruchomić aplikacje w tle za pomocą start:

start "C:\Development\App\bin\Debug1\Application.exe" 

Zastosowanie start /? z okna komend w celu uzyskania dalszych szczegółów.

Na przykład

start dir 

otworzy się nowe okno polecenia i pokazać listę katalogów, pozostawiając ją otworzyć, gdy finsished.

:

start cmd /c "ping 127.0.0.1 && exit" 

polecenia otworzy się nowe okno, uruchom ping cztery cyklu na localhost następnie wyjście.

W obu przypadkach bieżące okno natychmiast oczekuje na następne polecenie.

+0

Dzięki, właśnie znalazłeś to wspomniano w http://stackoverflow.com/questions/324539/how-can-i-run-a-program-from-a-batch-file-without-having-the -console-open-after też. Wszelkie pomysły na temat dynamicznego ładowania w pliku wsadowym? – finoutlook

+0

Polecenie START interpretuje pierwszy argument jako tytuł okna, jeśli jest cytowany, więc musisz podać tytuł, taki jak "start" "" C: \ Development \ App \ bin \ Debug1 \ Application.exe "' – dbenham

5
@echo off 
for %%F in ("Debug\Applications\*.exe") do (
    start "" "%%F" 
    timeout 5 
) 
+0

Dzięki temu pomógł dużo. Dałem zaakceptowaną odpowiedź innemu użytkownikowi, odpowiadając na pierwsze pytanie, jakie miałem, więc najlepiej mogę zrobić to przegłosować. – finoutlook

Powiązane problemy