
特定の IP と特定のポートをリッスンするプロセスを強制終了する簡単なバッチ スクリプトを探しています。このプロセスへの接続が 10 未満の場合、プロセスは強制終了する必要があります。確立された接続が 10 を超える場合、プロセスは強制終了されません。(-ano 出力から行数をカウントし、行数が 10 未満の場合、プロセスは強制終了する必要があります)
現在、私は同様のスクリプトを別のタスクに使用しています:特定のプロセスを強制終了するバッチファイルただし、接続数を増やすのではなく減らし、その IP:ポートへの接続が x 未満の場合、プロセスを強制終了する必要があります。この場合の接続状態は重要ではなく、接続数のみをカウントする必要があります。
答え1
これを試して:
echo off
set /a c=1
setlocal ENABLEDELAYEDEXPANSION
FOR /F "tokens=5 delims= " %%I IN (
'netstat -ano ^| find "127.0.0.1:5900"'
) DO (
set /a c=c+1
set /a last=%%I
)
if %c% lss 10 (
taskkill /PID !last!
)
endlocal