windows 停止指定端口服务和程序bat脚本

前言:

  使用常见,1.当服务端口冲突。提示端口被占用时,想启动新服务,必须把之前占用端口的服务给停止掉的时候,window 下切换CMD命令窗口,去查找占用端口的程序pid,然后再用pid杀死进程,从而停止端口占用服务。

详见另一篇文章 《windows10 系统 如何查看端口被占用程序和停止占用端口程序》 ,本地和测试环境开发过程,经常出现服务没有正常停止,导致端口一直被占用的现象,每次这样,一时操作比较蛮烦,而是命令代码容易忘记

于是,做成停止端口的bat脚本。点击bat脚本,弹出命令框,输入需要停止的端口即可。

使用方法

  新建文本,将下面的代码复制到文本中,保存后,将文件名后缀改为.bat即可。

@Echo Off
:: created by tarzan LIU

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="

echo.
echo.是否终止该进程
echo  0: 否
echo. 1: 是
echo. 2: 查看端口使用进程和服务
set/p select=请选择:

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 |findstr %port%
tasklist |findstr %PidList%
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

如果有CMD命令窗口有中文乱码问题,编辑文本,点击文件》》另存为, 选择编码 为ANSI,保存即可。

使用效果图

 

 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 程序猿惹谁了 设计师:白松林 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值