bat脚本编程之美

Windows 2年前 (2023) 管理员
5,871 0 0

日常使用windows系统的我们,难免会有一些特殊的需求,想要一款软件来帮助自己在windows系统上实现xxx功能。有时候这个功能很小,很简单,其实自己写一个bat的脚本就可以了。下面我们就来做几个简单脚本小工具,体会下bat脚本编程之美

bat脚本编程之美

1、Bat简介

Bat作为一种轻量级Windows脚本语言,易于入门与使用.

Bat程序是Windows系统内置的批处理文件解释器,用于执行.bat或.cmd命令脚本文件。它起源于DOS时期,随Windows发展被深度集成到系统中。Bat脚本使用简单的命令行语法,可以调用各种Windows系统命令与工具,实现简单的自动化任务。

Bat不需要安装任何软件,直接创建并运行.bat文件即可。其语法简单明了,适合初学者,也能满足轻量级脚本需求。通过组合语句与命令.Bat可以创建矩阵风格动画、启动菜单项目、定时执行任务等小工具。

直接在电脑桌面,鼠标右键,点击“新建-文本文档”,直接输入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.取消:取消操作并返回。

不使用参数的体验如下

bat脚本编程之美

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.log
rename D:\test\1.txt 1.log

基于上面的基础,我们可以实现批量修改文件后缀名,比如常用的把jpg图片改为png格式

::这里写的是ren,而不是rename,是因为rename可以简写成ren,这里写成rename也可以
::这里就是把d盘,test目录下的jpg文件修改为png文件
ren d:\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   :任务名称 
/tr taskrun    :要运行的命令或脚本

比如我们这里创建一个脚本,每天晚上10点定时清理回收站

@echo off
schtasks /create /sc daily /tn "clearecyclebin" /tr "powershell.exe Clear-RecycleBin" /st 22:00
schtasks /query /tn "clearecyclebin" 
pause

执行后效果如下

bat脚本编程之美

到达计划的时间后,系统会自动弹出一个窗口,询问是否执行计划的工作事项,而不是直接就执行,如下

bat脚本编程之美

如果需要执行的话,输入y,然后按下enter键就可以了。如果不需要执行,按下n,然后按下enter键就可以了

2.5 实现类似黑客帝国的代码雨

效果如下

bat脚本编程之美

详细代码如下

@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的可玩性还有很多,这里不再一一列举。上面只是想说明,我们可能轻视了bat文件的作用,其实它能帮助我们解决很多日常工作中的小问题

版权声明:管理员 发表于 2023-04-22 22:10。
转载请注明:bat脚本编程之美 | kk编程驿站

相关文章

暂无评论

暂无评论...