0

かなりうまく機能する次のコマンドがあります。

FOR /F "tokens=5 delims= " %%P IN ('netstat -a -n -o ^| grep :7010') DO TaskKill.exe /PID %%P /F

問題は、同じポートが同じ PID で複数回見つかった場合errno 1、最初の PID の後に PID を強制終了しようとして失敗したため、スクリプトが返されることです。

上記を変更して、PID を 1 回だけ強制終了しようとする方法はありますか?

4

1 に答える 1

1

これはあなたのために働くかもしれません:

@ECHO OFF &SETLOCAL disableDelayedExpansion
FOR /F "tokens=5 delims= " %%P IN ('netstat -a -n -o ^| grep :7010') DO (
    IF NOT DEFINED PID.%%P (
        TASKKILL.exe /PID %%P /F
        SET "PID.%%P=7"
    )
)
于 2014-03-24T15:34:20.857 に答える