bat 结束指定端口进程

发布时间 2023-08-24 20:12:54作者: Higurashi-kagome
@echo off
setlocal

set /p port="input port to kill: "

echo Stopping program running on port %port%...

for /f "tokens=5" %%a in ('netstat -aon ^| findstr :%port%') do (
    taskkill /T /F /PID %%a
    echo Program running on port %port% has been stopped.
    goto done
)

echo No program running on port %port%.

:done

pause

"tokens=5"参数告诉 for 命令只提取每行输出的第 5 个字段(即 PID 字段)。

^|中的^为转义符。

goto done实现只获取第一行输出的 PID(按第一行输出的 PID 结束进程)。

参考:ChatGPT