6

ポート 1099 が既に使用されている場合にエラーが発生するバッチ スクリプトを作成しようとしています。

残念ながら、DOS バッチ スクリプトで作成する必要があります (何もインストールできません)。

ポート 1099 を占有しているプロセスの PID を手動で出力できることはわかっています。

netstat -aon | findstr ":1099"

しかし、そのコマンドをバッチ スクリプトで実行し、そのコマンドに出力がある場合はエラー メッセージを表示してスクリプトを終了できるようにしたいと考えています。

プッシュで出力を一時ファイルにリダイレクトしてそのサイズをテストできると思いますが、それは本当にハックのようです...

4

1 に答える 1

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

バッチスクリプトで使用&&して、前のコマンドが成功した場合にのみコマンドを実行できます(終了コード/に基づくERRORLEVEL)。これにより、netstatの出力で探している文字列が見つかった場合にのみ、メッセージを表示して終了することができます。

また、ポートを明示的に検索する必要がありLISTENINGます。

FINDSTR正規表現をサポートしているため、次の手順を実行してコマンドラインを短縮することもできます。

netstat -an | findstr /RC:":1099 .*LISTENING" && ECHO Port is in use && EXIT 1
于 2009-05-12T09:43:36.990 に答える