⼀些windows常⽤.bat批处理脚本总结⾸先介绍批处理⽂件最常⽤的⼏个命令
@echo off 不显⽰后续命令⾏及当前命令⾏
dir c:\*.* & 将c盘⽂件列表写⼊a.txt
call c:\ucdos\ucdos.bat 调⽤ucdos
echo 你好 显⽰"你好"
pause 暂停,等待按键继续
rem 准备运⾏wps 注释:准备运⾏wps
cd ucdos 进⼊ucdos⽬录
wps 运⾏wps
脚本⼀:通过bat脚本启动服务
rem *******************************Code Start*****************************
@echo off
start /d "E:\rongpingtai\apache-activemq-5.14.1-bin\apache-activemq-5.14.1\bin\win64\" activemq.bat
start /d "E:\rongpingtai\reids\" redisServer.bat rem : “/d” 指定启动⽬录
start /d "E:\rongpingtai\apache-tomcat-7.0.81\bin\" startup.bat
@echo on
rem ***************************Code End*****************************
启动.exe服务,如启动,窗⼝名称显⽰parseServer
@title parseServer
parseServer
pause
脚本⼆:windows下监控并重启某个进程
例如监控进程,⼀旦发现进程关闭则启动该进程
脚本代码如下:
:RESTART
tasklist /FI "username eq Administrator" | find /C "" >
set /p num= <
del /
echo %num%
if "%num%" == "0" start /D "D:\Chrome\Bin\"
ping -n 10 -w 2000 0.0.0.1 >
del /
goto RESTART
要是监控其他进程,红字部分都需要改下
脚本三:windows下监控进程⾃动重启
监控redis
@echo off
set Program=""
tasklist -v | findstr %Program% > NUL
if ErrorLevel 1 (
echo "进程不存在" >> D:\server\redis_
echo %date%+ %time% >> D:\server\redis_
d:
cd server\redis
< f
) else (
echo "进程存在"
)
脚本四:bat批处理⽂件同时打多个cmd窗⼝执⾏其他bat命令
start ⽤来启动⼀个应⽤
有时候我们想⽤⼀个批处理同时启动其他多个不同⽬录的BAT,脚本如下
@echo off
start /D "D:\Program Files\redis\test1" start.bat
start /D "D:\Program Files\redis\test2" query.bat
start /D "D:\Program Files\redis\test3" update.bat
start /D "D:\Program Files\redis\test4" insert.bat
start /D "D:\Program Files\redis\test5" select.bat
start /D "D:\Program Files\redis\test6" delete.bat
参数D 后⾯的参数表⽰被调⽤命令的所在⽬录。
脚本五:Windows下交叉编译Linux 64位可执⾏程序(golang)
rem @echo off
set GOARCH=amd64
set GOOS=linux
set TARGETEXT=
set OUTPUTDIR=bin\
linux循环执行命令脚本mkdir %OUTPUTDIR%
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set TARGETDIR=%OUTPUTDIR%\%GOOS%-%GOARCH%
mkdir %TARGETDIR%
for %%i in ("%~dp0\.") do (
set CurDir=%%~ni
)
set TARGET=bin\%CurDir%-%GOOS%-%GOARCH%%TARGETEXT% set cnf=%CurDir%.example
echo building %TARGET% ...
go build -o %TARGET%
copy %TARGET% %TARGETDIR%
copy %cnf% %TARGETDIR%
echo "OK"
pause
脚本六:在windows下.bat每5分钟运⾏⼀次python⽂件
@echo off
set INTERVAL = 300
timeout %INTERVAL%
:Again
echo Called000000000000000
python C:/test.py
timeout %INTERVAL%
goto Again
同理可以每隔周期时间运⾏某个程序、服务、脚本等
@echo off
set INTERVAL = 3000
timeout %INTERVAL%
:
Again
echo test
start /D "C:\Users\wade\Desktop" test.bat
timeout %INTERVAL%
goto Again
脚本七:.bat中for循环⽤法详解
for语句的基本要素都有些什么:
for、in和do是for语句的关键字,它们三个缺⼀不可;
%%I是for语句中对形式变量的引⽤,即使变量l在do后的语句中没有参与语句的执⾏,也是必须出现的;
in之后,do之前的括号不能省略;
command1表⽰字符串或变量,command2表⽰字符串、变量或命令语句;
下⾯来看⼀个Windows bat脚本的demo(记为demo1):
@echo off
for %%I in (ABC) do echo %%I
pause
保存为.bat⽂件(批处理⽂件)并执⾏,将会在弹出的批处理窗⼝中看到这样的信息:
稍加修改
@echo off
for %%I in (A,B,C) do echo %%I
pause
保存为.bat⽂件(批处理⽂件)并执⾏,将会在弹出的批处理窗⼝中看到这样的信息:
1)搜索当前⽬录下有哪些⽂件?
@echo off
for %%i in (*.*) do echo "%%i"
pause
2)搜索当前⽬录下所有的⽂本⽂件?
@echo off
for %%i in (*.txt) do echo "%%i"
pause
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论