Brechen aus in batch

Meine aktuellen Zeile der batch-code ist:

for /L %%a in (8000,1,8100) do netstat /a /n | find "%%a" | find "LISTENING" || set tmp_freeport=%%a && goto found

Die Idee ist noch ein freier port wird verwendet für das hören im Bereich 8000-8100.

Aktuell habe ich den port 8000 in Gebrauch ist, also sollte das script gehen 8001.

Nach der Schleife %tmp_freeport% gleich 8001, wie es sein sollte, und Ihr Wert wird später verwendet, richtig.

Das problem ist, dass die Schleife weiterläuft, unabhängig. netstat wird aufgerufen, um die Suche für alle 101 ports in dem Bereich, das ist natürlich inefficent und unerwünscht, denn die Suche muss abgeschlossen sein, bevor das script fortgesetzt werden kann.

Kann mir jemand sagen, wie man aus einer batch-FOR-Schleife?

(Alternativ, wenn es einen besseren Weg zu finden, eine freie Portnummer, bitte Lesen Sie meine etwas Frage)

haben Sie versucht, aus meiner Antwort? hat es funktioniert?

InformationsquelleAutor Niet the Dark Absol | 2012-03-27

Schreibe einen Kommentar