简化版本 bat (注意ANSI编码) :
@setlocal enabledelayedexpansion
@echo off
cls
color 0a
TITLE killPort Power By zhufenghua
:main
set /p port=请输入端口号(默认9200):
if "%port%"=="" (set port=9200)
echo.
echo 预关闭端口为:%port% 的进程
echo.
set iskill=0
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
if %%m NEQ 0 (
if !iskill! EQU 0 (
taskkill /f /pid %%m
set iskill=1
)
)
)
if %iskill% EQU 0 (
echo 提示:该端口没有找到正在运行的程序。
)
echo.
goto main
多功能版本,编写bat代码如下:(注意ANSI编码)
@setlocal enabledelayedexpansion
@echo off
cls
color 0a
TITLE KillPort Power By zhufenghua
:main
ECHO. ********************************************************************
ECHO. * *
ECHO. * * 1.全部端口列表
ECHO. * * 2.查询端口信息
ECHO. * * 3.查询端口进程
ECHO. * * 4.解除端口占用
ECHO. * *
ECHO. ********************************************************************
echo.
set /p X=输入数字选择功能:
if %X%==1 (
goto findAllPort
)else if %x%==2 (
goto mPort
)else if %x%==3 (
goto findPid
)else if %x%==4 (
goto killPort
)
:findAllPort
cls
echo.
netstat -aon
echo.
goto main
:mPort
cls
set /p mport=请输入要查找的端口:
echo.
echo 协议 本地地址 外部地址 状态 PID
netstat -aon|findstr %mport%
echo.
goto main
:findPid
cls
set /p port=请输入要查询的端口号(默认9200):
if "%port%"=="" (set port=9200)
echo.
echo 查找端口为:%port% 的进程:
echo.
set isExist=0
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
if %%m NEQ 0 (
if !isExist! EQU 0 (
set isExist=1
echo 映像名称 PID 会话名 会话# 内存使用
echo.
echo ========================= ======== ================ =========== ============
tasklist | findstr "%%m"
)
)
)
if %isExist% EQU 0 (
echo 提示:该端口没有找到正在运行的程序。
)
echo.
goto main
:killPort
cls
set /p port=请输入要杀死的端口号(默认9200):
if "%port%"=="" (set port=9200)
echo.
echo 预关闭端口为:%port% 的进程
echo.
set iskill=0
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
if %%m NEQ 0 (
if !iskill! EQU 0 (
taskkill /f /pid %%m
set iskill=1
)
)
)
if %iskill% EQU 0 (
echo 提示:该端口没有找到正在运行的程序。
)
echo.
goto main
本篇完,还有疑问?留下评论吧