我有以下命令可以很好地运行:
FOR /F "tokens=5 delims= " %%P IN ('netstat -a -n -o ^| grep :7010') DO TaskKill.exe /PID %%P /F
问题是,如果使用相同的PID多次找到相同的端口,我的脚本将返回errno 1
,因为在第一次失败后尝试终止PID。
有没有办法修改上面的内容,以便它只尝试杀死一次PID?
答案 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"
)
)