类别:Win其它 / 日期:2026-07-28 / 浏览:2584 / 评论:0

需求:

windows下利用winrar定期压缩A文件夹并保存到B文件下,最后定期删除B文件夹下的1个月以前备份数据。核心思路是写一个批处理脚本(.bat),让 WinRAR 执行压缩,并用 forfiles 命令清理旧备份,最后通过 Windows 任务计划程序让它自动运行。

为你准备了一个完整的解决方案,按下面几步操作即可。

第一步:编写批处理脚本(backup.bat)

这个脚本会完成压缩和删除旧文件两项任务。你可以用记事本创建一个新文件,将下面的代码复制进去,然后保存为 backup.bat

@echo off
:: 设置 WinRAR 安装路径(通常在 Program Files 下)
set "rarPath=C:\Program Files\WinRAR\WinRAR.exe"

:: 设置要备份的源文件夹 A
set "sourceFolder=C:\需要备份的文件夹A"

:: 设置备份文件存放的目标文件夹 B
set "backupFolder=D:\备份存放文件夹B"

:: 设置备份文件的文件名(包含日期时间,例如:Backup_20260728.rar)
set "backupFile=%backupFolder%\Backup_%date:~0,4%%date:~5,2%%date:~8,2%.rar"

:: 1. 使用 WinRAR 进行压缩
:: a: 添加文件到压缩包  -ag: 自动附加日期  -r: 包含子文件夹  -ibck: 后台运行
"%rarPath%" a -r -ibck "%backupFile%" "%sourceFolder%"

:: 2. 删除 B 文件夹下 30 天前的 .rar 备份文件
forfiles /p "%backupFolder%" /m *.rar /d -30 /c "cmd /c del /q @path"

echo 备份完成,并已清理超过30天的旧文件。

你需要根据自己的情况修改代码中的几个路径:

变量说明示例
rarPathWinRAR的安装路径-
-
-
。如果你安装时没改过,通常就是这个。
"C:\Program Files\WinRAR\WinRAR.exe"
sourceFolder你的A文件夹的完整路径-
"C:\Users\你的用户名\Documents\重要资料"
backupFolder你的B文件夹的完整路径-
"D:\Backup"
/d -30forfiles命令中的天数,-30代表30天前-
-
-
。可以按需修改。
/d -30

补充说明:%date:~0,4%%date:~5,2%%date:~8,2% 会提取系统日期并拼接成类似 20260728 的格式,确保每天生成的压缩包名字不同,不会互相覆盖-

第二步:测试你的脚本

保存好 backup.bat 文件后,双击运行它。检查一下B文件夹里是否生成了新的 .rar 压缩包,确保没有报错。如果是第一次运行,因为还没有30天前的文件,不会触发删除操作。

第三步:设置定时任务

最后,我们把这个脚本添加到Windows的“任务计划程序”中,让它自动运行。

  1. 打开任务计划程序:按下键盘上的 Win + R 键,输入 taskschd.msc 并回车-3

  2. 创建基本任务:在右侧的操作面板中,点击 “创建基本任务...”-

  3. 设置名称和触发器

    • 名称:输入一个你记得住的名字,比如“每日自动备份”。

    • 触发器:选择你想要的执行频率,例如 “每天” ,然后设置具体时间(比如凌晨2点)。

  4. 设置操作

    • 在“操作”界面,选择 “启动程序”

    • 程序或脚本:点击“浏览”,选择你刚才创建的 backup.bat 文件-
      -

  5. 完成:点击“完成”即可-

设置好后,你的电脑就会在每天设定的时间自动执行备份和清理工作了。


打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章