Windows 下结束端口占用

创建文件 .bat 格式保存后执行

@Echo Off
:: created by citrus

title=杀掉指定接口进程
SETLOCAL EnableDelayedExpansion
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
  set "DEL=%%a"
)
call :ColorText 09 "POWER BY CITRUS"
echo.
goto cmdmain

:cmdmain
set /p port=请输入指定端口:


if  "%port%" == "" (
  echo.
  call :ColorText 0c "无效端口"
  echo.
  echo.
  goto cmdchoice		
)


for /f "tokens=5" %%a  in ('netstat /ano ^| findstr %port%') do ( set PidList=%%a)

if  "%PidList%" == "" (
  echo.
  call :ColorText 0c "进程不存在"
  echo.
  echo.
  goto cmdchoice
)

for /f "tokens=1" %%b in ('tasklist ^| findstr %PidList%') do ( set PName=%%b)

echo.
echo =========================
echo.
echo.
echo *端口(%port%)的PID是(%PidList%)
echo.
echo.
call :ColorText 0a "        %PName%"
echo.
echo.
echo =========================
echo.
set "select="

set/p select=是否终止该进程(0: 否,退出, 1: 是,2:  查看所有进程):

if "%select%"=="0" (goto cmd3)
if "%select%"=="1" (goto cmd1)
if "%select%"=="2" (goto cmd2)
echo.
call :ColorText 0c "无效字符,即将退出"
echo.
echo.
goto cmd3

:cmdchoice
set "selectmore="

set/p selectmore=是否查看所有进程(0: 否, 退出,1: 是):

if "%selectmore%"=="0" (goto cmd3)
if "%selectmore%"=="1" (goto cmd2)
echo.
call :ColorText 0c "无效字符,即将退出"
echo.
echo.
goto cmd3

:cmd1
echo 终止进程中...
taskkill /f /pid %PidList%
echo 进程已终止
PAUSE >null

:cmd2
netstat /ano
goto cmdmain

:cmd3
pause
exit

:ColorText
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1
goto :eof

posted @   小明の烦恼  阅读(56)  评论(0编辑  收藏  举报
编辑推荐:
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
阅读排行:
· 手把手教你更优雅的享受 DeepSeek
· 腾讯元宝接入 DeepSeek R1 模型,支持深度思考 + 联网搜索,好用不卡机!
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示