bat批处理清除端口号解决port?is?already?in?use

 更新时间:2023年07月19日 09:41:48   作者:DaenCode  
本文主要介绍了bat批处理清除端口号解决port?is?already?in?use,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

?前言

在日常开发中,经常会因为启动、关闭tomcat操作不当或者在关闭IDEA时经常忘记暂停项目,又或者电脑卡顿,经常会导致port is already in use等端口号被占用的错误。
本文主要使用bat批处理语言,编写了一个bat脚本用来清除端口号。防止每次都输入命令进行清除,很浪费时间。

?效果预览

?脚本内容

@echo off & color 0A
title 端口号清除工具
echo===========================================================
echo===========================================================
echo===========================================================
echo =======================端口号清除工具=====================
echo =======================作者:DaenCode=======================
echo========================输入q退出工具=======================
echo===========================================================
echo===========================================================
:clear
set /p port=请输入被占用的端口号:
setlocal EnableDelayedExpansion
set pid=0
for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":%port%" ^| findstr "LISTENING"') do (
    set pid=%%a 
)
    echo pid进程ID为:!pid!
    if "!pid!"=="0" (
    echo 端口号没有被占用
) else (
    taskkill /pid !pid! -t -f 
    echo  端口号相关进程已杀死                 
)
rem 退出
if "!port!"=="q" (
goto end
)
goto clear
pause
:end
exit

?脚本解释

命令解释
@echo off & color 0A关闭命令提示符的回显,并设置背景颜色为绿色和亮度为正常
title 端口号清除工具设置窗口标题为 “端口号清除工具”
echo===========================================================输出分隔线
echo ===端口号清除工具=输出工具名称
echo =作者:DaenCode=输出作者信息
echo==输入q退出工具=输出退出工具的提示信息
echo===========================================================输出分隔线
:clear定义一个标签 clear
set /p port=请输入被占用的端口号:提示用户输入被占用的端口号,并将输入的值保存到变量 port
setlocal EnableDelayedExpansion启用延迟变量扩展
set pid=0初始化变量 pid 为0
tokens=5每一行的第五列,这里代笔进程id那一列
echo pid进程ID为:!pid!输出进程ID
if “!pid!”==“0” ( echo 端口号没有被占用 ) else ( taskkill /pid !pid! -t -f echo 端口号相关进程已杀死 )如果进程ID为0,则输出端口号未被占用的提示信息;否则,使用 taskkill 命令杀死对应进程,并输出相关信息
if “!port!”==“q” ( goto end )如果用户输入的端口号为 “q”,则跳转到标签 end,退出工具
goto clear跳转回标签 clear,继续执行清除操作
pause暂停脚本的执行
:end定义一个标签 end
exit退出脚本

?写在最后

到此这篇关于bat批处理清除端口号解决port is already in use的文章就介绍到这了,更多相关bat 清除端口号 内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

最新评论

?


http://www.vxiaotou.com