win bat脚本根据端口批量关闭相关任务

:: 指定utf8输出,避免乱码问题
chcp 65001 >nul
:: 关闭单行显示
@echo off
:: 设置循环中可以使用变量
setlocal DisableDelayedExpansion


:: 定义需要关闭的端口列表
set "ports=8080 8081 9000 3306"

echo 正在终止以下端口的进程: %ports%

:: 循环处理每个端口
for %%P in (%ports%) do (
    echo 正在检查端口 %%P...

    :: 查找占用端口的PID
    set "pid="
    for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":%%P "') do (
        set "pid=%%a"
        echo 发现进程 PID: !pid! 正在使用端口 %%P

        :: 终止进程
        taskkill /F /PID !pid!
        echo 已终止进程 PID: !pid!
    )

    if "!pid!"=="" echo 端口 %%P 未找到活动进程
)

echo 所有指定端口的进程已处理完毕
pause
posted @ 2025-08-05 19:24  wds09  阅读(110)  评论(0)    收藏  举报