赞
踩
使用常见,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,保存即可。
Windows的批处理脚本(也称为.bat脚本)是一种用于自动化执行一系列命令和任务的脚本语言。通过编写批处理脚本,您可以简化重复性的操作,提高工作效率。在接下来的3000字内,我将为您详细解释Windows批处理脚本的基本语法、常用命令和用法示例。
基本语法: Windows批处理脚本使用扩展名为.bat的文件进行存储和执行。以下是一个典型的批处理脚本的基本结构:
@echo off rem 批处理脚本的注释 :: 批处理脚本的注释 命令1 命令2 ... pause
@echo off
:该行用于关闭脚本执行时的命令回显,使得在执行过程中不会显示具体的命令文本。rem
或 ::
:用于添加注释,这些行中的内容会被解释器忽略,可以用于提供脚本的说明或备注。pause
:该行用于暂停脚本的执行,以便查看输出结果。按下任意键后,脚本将继续执行或退出。常用命令和用法示例:
echo:用于在命令行中显示文本消息。
echo Hello, World!
set:用于设置和读取环境变量的值。
set MY_VARIABLE=Hello echo %MY_VARIABLE%
if:用于执行条件判断,根据条件结果分别执行不同的命令。
if %ERRORLEVEL%==0 ( echo Success ) else ( echo Failure )
for:用于循环处理一组数据或文件,并对每个项执行相应的操作。
for %%G in (*.txt) do ( echo File: %%G )
call:用于调用其他批处理脚本或命令,并可以传递参数。
call other_script.bat
cd:用于改变当前工作目录。
cd C:\MyFolder
del:用于删除指定的文件。
del myfile.txt
xcopy/robocopy:用于复制文件和目录。
xcopy source destination /E /Q robocopy source destination /MIR
start:用于启动一个新的窗口或程序。
start notepad.exe
以上示例只是Windows批处理脚本中常见的一些命令和用法,实际上还有许多其他命令和技巧可供使用。您可以根据自己的需求和具体情况,进一步学习和探索批处理脚本的更多功能和用法。
总结: Windows批处理脚本是一种方便的自动化工具,可以通过编写简单的脚本来执行各种命令和任务。在批处理脚本中,您可以使用基本语法、常用命令和各种技巧来实现自定义的操作。请注意,以上解释只是对Windows批处理脚本的基础介绍,如果您有特定的问题或需求,请进一步详细了解该脚本语言的官方文档和资料。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。