【bat】【windows】通过端口杀死进程
@echo off & setlocal EnableDelayedExpansion
set pid=0
for /f “tokens=4” %%m in (‘netstat -aon ^| findstr “:5000”’) do (
set pid=%%m
)
if “!pid!”==“0” (
echo 端口号5000没有占用
) else (
echo 端口号5000相关进程以杀死
taskkill /f /pid !pid!
)
pause
注意几处标记
1、setlocal enabledelayedexpansion 设置本地为延迟扩展
简单来说,在读取了一条完整的语句之后,不立即对该行的变量赋值,而会在某个单条语句执行之前再进行赋值,也就是说“延迟”了对变量的赋值。
2、tokens=4 取返回值的第4列
3、netstat -aon ^| findstr “:5000” 5000是需要关闭的端口