前言
相信大家有的备份的习惯吧,但自动备份后文件又很大,占用硬盘资源,又需要手动处理打包压缩。以下脚本文件将处理自动打包压缩文件。
脚本语言
batch
代码
话不多说直接上代码:
REM 作者:Fireworm
REM 联系方式:firewormq@qq.com
@echo off
setlocal
REM 设置要压缩的文件夹路径、文件类型、文件要移动到的路径
set "folderPath=C:\Users\Administrator\Desktop\123"
set "fileType=.txt"
set "move_path=.\"
REM 获取当前日期和时间(YYYY-mm-DD-HHMM)
REM 判断小时部分是否大于9做格式处理(HH)
if %time:~0,2% leq 9 (set hour=0%time:~1,1%) else (set hour=%time:~0,2%)
set datetime=%date:~0,4%-%date:~5,2%-%date:~8,2%-%hour%%time:~3,2%
REM 设置压缩文件的名称和保存路径
set "zipName=%datetime%.zip"
set "zipPath=%folderPath%\%zipName%"
REM 检查并删除已存在的 ZIP 文件
if exist "%zipPath%" (
echo 正在删除现有的 ZIP 文件: "%zipPath%"
del "%zipPath%"
)
REM 获取要压缩的文件列表
echo 正在查找并压缩文件...
for %%F in ("%folderPath%\*%fileType%") do (
echo 添加文件: "%%~nxF" 到 "%zipPath%"
bz a -y "%zipPath%" "%%~fF"
)
REM 删除原有文件中的已压缩的内容
echo 正在删除原始文件中已压缩的内容: "%folderPath%"
del /q "%folderPath%\*%fileType%"
echo ZIP 文件已创建: "%zipPath%"
REM 如果move_path文件目录不存在则创建文件
if not exist "%move_path%" (
echo 目录不存在,正在创建...
mkdir "%move_path%"
echo 目录创建成功!
) else (
echo 目录已存在!
)
REM 移动文件到指定路径"move_path"
move %folderPath%\*.* %move_path%
endlocal
后续操作
下载该文章中的"windows自动压缩zip打包.zip"
1.将压缩包中的BANDIZIP-SETUP-STD-X64.EXE安装
bandizip官网下载地址:https://www.bandisoft.com/bandizip/
2.添加windows定时任务
运行(WIn + R)->输入:compmgmt.msc
根据需求创建定时任务
脚本选择compress.bat即可完成自动压缩。
适用windows版本
windowsServer
windows10
windows11
附录
如果大家还有其它方法,可在评论区一起讨论!(有错误欢迎大家批评指正)
如果此文章哪点没说清楚或提问可留言于此网站
转载请标注出处————————————