日常使用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 '注释' :注销屏幕上的消息。用于向用户显示关机或重启消息。/f : 操纵进程迫使应用程序和服务注销。用于强制关闭某些进程。/i : 显示交互界面,让用户选择关闭选项。具体使用方法如下:shutdown /s /t 0 立即关闭计算机shutdown /s /c '系统即将关机' /t 30 30秒后关闭,并显示提示信息shutdown /r 重启计算机,默认等待时间30秒shutdown /r /t 60 60秒后重启计算机shutdown /s /f 强制关闭计算机shutdown /s /c '系统即将重启' /f /t 0 立即强制重启计算机并显示消息如果不使用任何参数,直接输入shutdown则进入交互界面,提示用户输入关闭选项。我们可以选择:1.关闭:关闭操作系统。2.重启:重启操作系统。3.注销:注销当前登录用户会话。4.取消:取消操作并返回。 不使用参数的效果如下 ![]() 2.2 del命令批量删除文件
2.3 rename命令批量修改文件后缀名 rename命令用于重命名文件或文件夹,语法为:rename [drive:][path]filename1 filename2参数说明:drive:是盘符,就是你要处理的是哪个磁盘的数据,比如C盘、D盘path 是具体的路径,就是你要处理的是哪个路径下的数据filename1 是需修改的文件的文件名filename2 是修改后的文件的文件名::比如下面这个命令,就是把 D:\test 这个路径下的 1.txt 文件的文件名改为 1.logrename D:\test\1.txt 1.log 基于上面的基础,我们可以实现批量修改文件后缀名,比如常用的把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 :任务名称 /tr taskrun :要运行的命令或脚本 比如我们这里创建一个脚本,每天晚上10点定时清理回收站
执行后效果如下 ![]() 到达计划的时间后,系统会自动弹出一个窗口,询问是否执行计划的工作事项,而不是直接就执行,如下 ![]() 如果需要执行的话,输入y,然后按下enter键就可以了。如果不需要执行,按下n,然后按下enter键就可以了 2.5 实现类似黑客帝国的代码雨![]() 详细代码如下 @echo off color 0a :start set num=0 set 'echos= ' :num set /a a1=%random%%%3 if '%a1%' == '1' set 'a1= ' if '%a1%' == '2' set 'a1= ' if '%a1%' == '0' set /a a1=%random%%%2 set echos=%echos%%a1% set /a num=%num%+1 if '%num%' == '150' echo %echos%&goto :start goto :num pause >nul exit 代码逐行解释如下 ![]() bat的可玩性还有很多,这里不再一一列举。上面只是想说明,我们可能轻视了bat文件的作用,其实它能帮助我们解决很多日常工作中的小问题,此处算是抛砖引玉了 |
|