Frage

Ich versuche, ein Batch-Skript, die Fehler zu schreiben, wenn Port 1099 bereits verwendet wird.

Leider muss ich es in einer DOS-Batch-Skript schreiben (ich etwas nicht installieren können).

Ich weiß, dass ich die PID des Prozesses Port hogging drucken kann 1099 manuell:

netstat -aon | findstr ":1099"

Aber ich möchte in der Lage, diesen Befehl in einer Batch-Skript auszuführen und das Skript mit einer Fehlermeldung zu beenden, wenn dieser Befehl keine Ausgabe hat.

ich an einem Stoß annehmen konnte ich die Ausgabe in eine temporäre Datei umleiten und die Größe der es testen, aber das scheint wirklich Hacky ...

War es hilfreich?

Lösung

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

Sie können && in einem Batch-Skript verwenden, um einen Befehl nur, wenn der vorherige Befehl wurde erfolgreich ausgeführt werden (basierend auf der Exit-Code / ERRORLEVEL). Auf diese Weise können Sie nur eine Nachricht und Ausgang angezeigt werden, wenn die Zeichenfolge Sie suchen, wird in der Ausgabe von netstat gefunden.

Außerdem möchten Sie ausdrücklich für LISTENING Ports suchen.

unterstützt FINDSTR reguläre Ausdrücke, so können Sie auch die folgenden Aktionen in der Befehlszeile zu verkürzen:

netstat -an | findstr /RC:":1099 .*LISTENING" && ECHO Port is in use && EXIT 1
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top