bat脚本编程之美
导语:bat脚本编程之美
日常使用windows系统的我们,难免会有一些特殊的需求,想要一款软件来帮助自己在windows系统上实现xxx功能。有时候这个功能很小,很简单,其实自己写一个bat的脚本就可以了。下面我们就来做几个简单脚本小工具,体会下bat脚本编程之美
1、bat简介
bat作为一种轻量级Windows脚本语言,易于入门与使用.
bat程序是Windows系统内置的批处理文件解释器,用于执行.bat或.cmd命令脚本文件。它起源于DOS时期,随Windows发展被深度集成到系统中。Bat脚本使用简单的命令行语法,可以调用各种Windows系统命令与工具,实现简单的自动化任务。
bat不需要安装任何软件,直接创建并运行.bat文件即可。其语法简单明了,适合初学者,也能满足轻量级脚本需求。通过组合语句与命令.Bat可以创建矩阵风格动画、启动菜单项目、定时执行任务等小工具。
直接在电脑桌面,鼠标右键,点击“新建-文本文档”,直接输入bat命令即可
输入完成后保存,然后将文件名的后缀名修改为bat如下,修改后文件的图标会变成下面这种
然后鼠标双击就可以看到如下效果
2、常用命令分享
2.1 shutdown命令实现定时开关机Shutdown命令用于关闭、重启或注销计算机。它有以下主要参数:/s : shutdown系统。用于关闭计算机。/r : restart系统。用于重启计算机。/t {时间} : 设置要等待的秒数。用于定时执行关闭或重启,如果不指定时间默认为30秒。/c &34; :注销屏幕上的消息。用于向用户显示关机或重启消息。/f : 操纵进程迫使应用程序和服务注销。用于强制关闭某些进程。/i : 显示交互界面,让用户选择关闭选项。具体使用方法如下:shutdown /s /t 0 立即关闭计算机shutdown /s /c &34; /t 30 30秒后关闭,并显示提示信息shutdown /r 重启计算机,默认等待时间30秒shutdown /r /t 60 60秒后重启计算机shutdown /s /f 强制关闭计算机shutdown /s /c &34; /f /t 0 立即强制重启计算机并显示消息如果不使用任何参数,直接输入shutdown则进入交互界面,提示用户输入关闭选项。我们可以选择:1.关闭:关闭操作系统。2.重启:重启操作系统。3.注销:注销当前登录用户会话。4.取消:取消操作并返回。
不使用参数的效果如下
2.2 del命令批量删除文件del命令用于删除一个或多个文件。我们可以使用Del命令批量删除文件,语法为:del {/p} {/f} {/s} {/q} {/a: | /a-} filenames 参数说明:/p :删除文件前进行提示确认。/f :强制删除只读文件。/s :删除指定文件夹及其中的所有子文件夹和文件。/q :安静模式,不提示确认信息。/a: :只删除存档属性的文件。/a- :不删除存档属性的文件。filenames :要删除的文件名,可以使用通配符*和?。例如:del e:\temp\*.doc 删除e盘temp文件夹下所有.doc扩展名的文件。del /s e:\temp 递归删除e盘temp文件夹及其中的所有子文件夹和文件。del /f /q e:\readonly.txt 强制删除只读的readonly.txt文件,不提示确认。del /s /a:e:\*.bak 删除e盘中所有存档属性的.bak文件。del/a-e:\*.tmp 删除e盘中除.tmp文件外的所有文件。
2.3 rename命令批量修改文件后缀名
rename命令用于重命名文件或文件夹,语法为:rename [drive:][path]filename1 filename2参数说明:drive:是盘符,就是你要处理的是哪个磁盘的数据,比如C盘、D盘path 是具体的路径,就是你要处理的是哪个路径下的数据filename1 是需修改的文件的文件名filename2 是修改后的文件的文件名::比如下面这个命令,就是把 D:\test 这个路径下的 1.txt 文件的文件名改为 1.logrenameD:\test\1.txt1.log
基于上面的基础,我们可以实现批量修改文件后缀名,比如常用的把jpg图片改为png格式
::这里写的是ren,而不是rename,是因为rename可以简写成ren,这里写成rename也可以::这里就是把d盘,test目录下的jpg文件修改为png文件rend:\test\*.jpg*.png
2.4 定时任务清理回收站创建定时任务使用schtasks命令,语法为:schtasks /create /sc schedule /mo modifier /d day /m months /i idletime /tn taskname /tr taskrun参数说明:/sc schedule :任务计划类型,如HOURLY、DAILY、WEEKLY等/mo modifier :修饰计划,如每X小时、日期等/d day :如果是周计划,指定周几,用数字或缩写表示如1-7或MON-SUN /m months :如果是月计划,指定月份,用数字或缩写JAN-DEC表示/i idletime :空闲时间,即电脑空闲后多长时间运行任务 /tn taskname :任务名称 /trtaskrun:要运行的命令或脚本
比如我们这里创建一个脚本,每天晚上10点定时清理回收站
@echo offschtasks /create /sc daily /tn &34; /tr &34; /st 22:00schtasks /query /tn &34; pause
执行后效果如下
到达计划的时间后,系统会自动弹出一个窗口,询问是否执行计划的工作事项,而不是直接就执行,如下
如果需要执行的话,输入y,然后按下enter键就可以了。如果不需要执行,按下n,然后按下enter键就可以了
2.5 实现类似黑客帝国的代码雨详细代码如下
@echo off color 0a :start set num=0 set &34; :num set /a a1=%random%%%3 if &34; == &34; set &34; if &34; == &34; set &34; if &34; == &34; set /a a1=%random%%%2 set echos=%echos%%a1% set /a num=%num%+1 if &34; == &34; echo %echos%&goto :start goto :num pause >nul exit
代码逐行解释如下
bat的可玩性还有很多,这里不再一一列举。上面只是想说明,我们可能轻视了bat文件的作用,其实它能帮助我们解决很多日常工作中的小问题,此处算是抛砖引玉了