一次一个地搜索和终止PID

时间:2014-03-24 15:14:20

标签: batch-file taskkill

我有以下命令可以很好地运行:

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

问题是,如果使用相同的PID多次找到相同的端口,我的脚本将返回errno 1,因为在第一次失败后尝试终止PID。

有没有办法修改上面的内容,以便它只尝试杀死一次PID?

1 个答案:

答案 0 :(得分: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"
    )
)