window如何批量关闭进程

如想批量关闭占用 127.0.0.1:7001 的所有进程,可以直接用一个 Windows 批处理命令通过管道完成。


推荐:一行命令搞定

1
for /f "tokens=5" %i in ('netstat -ano ^| findstr "127.0.0.1:7001"') do taskkill /PID %i /F

说明:

  • netstat -ano:列出所有端口与 PID。
  • findstr "127.0.0.1:7001":过滤指定端口。
  • tokens=5:取出第五列(PID)。
  • taskkill /PID %i /F:强制杀掉该 PID。
  • ^|:转义管道符(因为在 for 中需要)。

⚠️ 如果你是写在 .bat 文件里,要把 %i 改成 %%i


写成批处理文件(kill7001.bat)

内容如下:

1
2
3
4
5
6
7
8
@echo off
echo Killing processes on 127.0.0.1:7001 ...
for /f "tokens=5" %%i in ('netstat -ano ^| findstr "127.0.0.1:7001"') do (
echo Killing PID %%i ...
taskkill /PID %%i /F >nul 2>&1
)
echo Done.
pause

然后直接执行:

1
kill7001.bat

附加:如果你想看有哪些进程先(预览)

1
netstat -ano | findstr "127.0.0.1:7001"

或者:

1
for /f "tokens=5" %i in ('netstat -ano ^| findstr "127.0.0.1:7001"') do tasklist | findstr "%i"

可以看到具体的进程名(确认没误杀)。


PowerShell 版本(更现代)

如果你偏好 PowerShell:

1
2
3
4
netstat -ano | Select-String "127.0.0.1:7001" | ForEach-Object {
$pid = ($_ -split "\s+")[-1]
Stop-Process -Id $pid -Force -ErrorAction SilentlyContinue
}