一些windows常用.bat批处理脚本总结

首先介绍批处理文件最常用的几个命令       

              @echo off            不显示后续命令行及当前命令行
    dir c:\*.* >a.txt              将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.exe,窗口名称显示parseServer

@title parseServer
parseServer
pause

脚本二:windows下监控并重启某个进程

例如监控chrome.exe进程,一旦发现进程关闭则启动该进程

脚本代码如下:

:RESTART

tasklist /FI "username eq Administrator" | find /C "chrome.exe" > temp.txt
set /p num= < temp.txt
del /F temp.txt
echo %num%
if "%num%" == "0"        start /D "D:\Chrome\Bin\" chrome.exe
ping -n 10 -w 2000 0.0.0.1 > temp.txt
del /F temp.txt
goto RESTART

要是监控其他进程,红字部分都需要改下

脚本三:windows下监控进程自动重启

监控redis

@echo off   
set Program="redis-server.exe"  
tasklist -v | findstr %Program% > NUL  
if ErrorLevel 1 (  
  echo "进程不存在" >> D:\server\redis_log\log.txt  
 
  echo %date%+ %time% >> D:\server\redis_log\log.txt
  d:
  cd server\redis
  redis-server.exe redis.conf
  ) 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\

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
常用批处理 bat 程序├─BAT优化│ -禁止修改、写入SYSTEM32目录.BAT│ -让XP不用图片查看器看图(略缩图).BAT│ DEL.JPG.SCR.BAT│ DELTEMP.BAT│ 关闭系统信使.BAT│ 减少非法关机等待扫描时间.BAT│ 删除系统备份文件.BAT│ 卸载INTEL集成显卡如同鸡胁的显面增强.BAT│ 卸载XP内置ZIP.BAT│ 恢复使用XP注册表.BAT│ 注册所有DLL.BAT│ 清除输入法外的所有RUN运行项.BAT│ 禁止修改、写入SYSTEM32目录.BAT│ 禁用危险的默认共享.BAT│ 让XP不用图片查看器看图(略缩图).BAT│ ├─其它类│ 2000XP停止打印.bat│ dir.bat│ sxs.exe 的查杀.bat│ sz.reg转换成reg.bat.bat│ 全盘删除所有文件夹下的_desktop.ini.bat│ 删除大小和类型一样的文件.bat│ 删除所有分区的默认共享.bat│ 将cwindows.复制到当前目录并显示进度.bat│ 打开快捷方式指向的目录.bat批处理读注册表的Run下面的值.bat│ 按扩展名分类.bat│ 显示c盘~z盘.bat│ 枚举当前目录及子目录大小.bat│ 枚举显示.bat│ 查找最新的文件.bat│ 每个目录占用的空间.bat│ 篮球飞人火爆版.cmd│ 结束进程.bat│ 解锁注册表.BAT│ 输出倒文.bat│ 锁注册表.BAT│ ├─系统类│ C盘转换为NTFS格式.cmd│ dos下重启.bat│ guest.bat│ win2000关机命令.bat│ WIN2003 IIS最小权限分配.bat│ winxp修改计算机名.bat│ xp下确定最后的盘符.bat│ 不显示扩展名.bat│ 不显示隐藏文件.bat│ 使用WMI别名获取CPU信息.bat│ 关闭IDE通道检测.bat│ 列举进程.bat│ 判断光驱是否可用.bat│ 判断光驱里有无光盘.bat│ 判断分区格式.bat│ 刷新策略.bat│ 取得硬盘数.bat│ 右键添加bat.bat│ 右键添加打开MS-DOS.bat│ 弹出光驱.bat│ 改变我的文档路径.bat│ 显示扩展名.bat│ 显示用户名.bat│ 显示隐藏文件.bat│ 更改电源管理方式.bat│ 更改盘符.bat│ 更改系统启动菜单的时间.bat│ 查看工作组.bat│ 查看物理内存.bat│ 查看用户是否存在.bat│ 查看电脑硬件信息.bat│ 查看驱动器.bat│ 禁止保留文档记录.bat│ 给每个盘添加卷标.cmd│ 被锁定帐户.bat│ 重命名administrator账号.bat│ └─网络类 ARP本机绑定.bat XP服务优化批处理.bat 中文显示ping结果.bat 断开网络联结.bat 显示网络配置.bat 显示自己的IP.bat 查看网关的MAC地址.bat 查看进程使用的端口.bat 检查网络信息.bat 百度关键字搜索.bat 绑定网关的批处理及预留维护提到.bat 自动改回主页.bat 自定义配置网络ip、网关、dns.bat 网络信息.txt
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值