需求背景:
工作中我需要频繁地压缩打包某个文件夹内的某些文件发给同事。由于每次我都需要全选所有文件,然后按住ctrl键,一个个剔除不需要打包的文件,费时费力费眼力。一不小心还会遗漏一些文件未剔除。作为热爱生活的程序员,我不允许这样浪费时间。所以我写了个批处理,一键完成。
一、批处理是什么
批处理是一种简化的脚本语言,明显的标志是批处理文件以.bat为后缀名。可以使用批处理处理一些重复繁杂的工作。学会批处理可以方便我们的工作。
后缀名bat
二、怎么编写批处理
使用记事本,编写完毕批处理代码,保存文件并把文件后缀名改为.bat,批处理就写好了。
三、举个例子
我想输出当前目录的所有文件夹名称
@echo off
for /d %%X in (*) do echo %%X
pause
保存为:输出当前文件.bat。双击运行,显示结果如下:
四、7z压缩文件
7z是一种主流的文件压缩格式,通常使用7z格式比使用zip格式节省空间30~70%
我选中7z不单因为压缩率高,还由于7z是开源软件,无广告。
直接下载安装即可。
五、最终一键压缩代码
::删除文件1.7z
del 1.7z
@echo off
set zip=C:Program Files7-Zip7z.exe
::添加文件夹
for /d %%X in (*) do (“%zip%” a “1.7z” “%%X” -xr!face -xr!log -xr!picture -xr!SdkLog)
::添加文件
for %%X in (*) do (“%zip%” a “1.7z” “%%X” -xr!faceRecognitionShow.dll -xr!paramesModel.dll -xr!压缩.bat -xr!1.7z)
代码截图
本bat代码把当前目录下的文件和文件夹压缩成1.7z,并排除以下文件夹:face、log、picture、SdkLog。排除以下文件:faceRecognitionShow.dll、paramesModel.dll、压缩.bat、1.7z
::表示注释,解释下一行代码的作用,代码首先删除当前目录下的1.7z文件,然后添加文件夹,添加文件至1.7z中,压缩完成。
压缩执行中