2009-05-12 21 views
6

1099 numaralı bağlantı noktasında zaten kullanılıyorsa, bu hatalardan oluşan bir komut dosyası yazmaya çalışıyorum.Bağlantı noktası kullanılıyorsa, Windows toplu iş komut satırı

Ne yazık ki bir DOS toplu iş komut dosyasına yazmam gerekiyor (Hiçbir şey yükleyemiyorum).

Ben sürecin PID elle liman 1099 hogging yazdırabilirsiniz biliyorum:

netstat -aon | findstr ":1099" 

Ama bir hata mesajı varsa, senaryoyu bir toplu komut dosyasında bu komutu çalıştırmak ve çıkmak için mümkün istiyorum bu komutun herhangi bir çıkışı var.

cevap

11
netstat -an | FINDSTR ":1099" | FINDSTR LISTENING && ECHO Port is in use && EXIT 1 

Bir çalıştırmak için bir toplu komut && kullanabilirsiniz

ben geçici bir dosyaya çıktı yönlendirmek ve bunun boyutunu sınamak ama bu gerçekten hacky görünüyor olabilir bir itme varsayalım ... Yalnızca önceki komut başarılı olursa (çıkış koduna bağlı olarak/ERRORLEVEL) komut verin. Bu, bir ileti görüntülemenizi ve yalnızca aradığınız dizenin netstat çıktısında bulunması durumunda çıkmanızı sağlar.

Ayrıca, açıkça LISTENING bağlantı noktalarını aramak istiyorsunuz.

netstat -an | findstr /RC:":1099 .*LISTENING" && ECHO Port is in use && EXIT 1 
+0

Vay, teşekkürler: Ayrıca komut satırını kısaltmak için aşağıdakileri yapabilirsiniz böylece

FINDSTR düzenli ifadeleri destekler. Sadece test ettim ve mükemmel çalışıyor. Ayrıca "o" anahtarının gereksiz olduğunu, bonusun; –