2012-02-06 21 views
10

Windows'ta bir toplu iş dosyasından bazı konsol uygulaması .exe dosyalarını çalıştırmaya çalışıyorum.Toplu iş dosyasından çoklu konsol uygulamaları başlatma

"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 

var mı (ben İntial işlem biraz yaymak için zaman aşımı dahil ettik): Aşağıdaki kodu çalıştırdığınızda

Ancak, yalnızca uygulamalara ilk başladığında İlk uygulamayı başlatmak için komut dosyasını almak için bir yol, daha sonra diğerlerine geçmek ve başlatmak?

İdeal olarak, komut dosyasının bir alt dizindeki tüm uygulamaları başlatmasını isterim, böylece Debug\Applications\*.exe veya benzeriyse, .exe uygulamasının tüm uygulamalarını başlatır (ve muhtemelen her biri arasında 5 saniye bekler). Mümkün mü?

cevap

22

Sen start kullanarak arka planda uygulamaları başlatabilirsiniz:

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

bir komut penceresinden Kullanım start /? fazla ayrıntı almak için. Örneğin

,

start dir 

yeni bir komut penceresi açın ve finsished ne zaman açılacak bırakarak size dizin listesi gösterecektir.

:

start cmd /c "ping 127.0.0.1 && exit" 

komutu, yeni bir pencere açmak sonra exit yerel sunucuda bir dört zamanlı ping çalışacaktır.

Her iki durumda da, geçerli pencere hemen bir sonraki komutu bekleyecektir.

+0

sayesinde, sadece bu http://stackoverflow.com/questions/324539/how-can-i-run-a-program-from-a-batch-file-without-having-the sözü bulundu -Konsol-açık-sonra da. Bir toplu iş dosyasındaki dinamik yükleme hakkında herhangi bir fikir var mı? – finoutlook

+0

START komutu, 1. argümana alıntı yapıldığında pencere başlığını yorumlar; bu nedenle, "baştaki" "C: \ Development \ App \ bin \ Debug1 \ Application.exe" gibi bir başlık belirtmeniz gerekir. " – dbenham

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

Teşekkürler, bu çok yardımcı oldu. Sahip olduğum ilk soruma cevap olarak diğer kullanıcıya kabul edilen cevabı verdim, bu yüzden yapabileceğim en iyi şey bir oyundur. – finoutlook

İlgili konular