@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