类别: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天的旧文件。
你需要根据自己的情况修改代码中的几个路径:
| 变量 | 说明 | 示例 |
|---|---|---|
rarPath | WinRAR的安装路径- - - 。如果你安装时没改过,通常就是这个。 | "C:\Program Files\WinRAR\WinRAR.exe" |
sourceFolder | 你的A文件夹的完整路径- 。 | "C:\Users\你的用户名\Documents\重要资料" |
backupFolder | 你的B文件夹的完整路径- 。 | "D:\Backup" |
/d -30 | forfiles命令中的天数,-30代表30天前-- - 。可以按需修改。 | /d -30 |
补充说明:%date:~0,4%%date:~5,2%%date:~8,2% 会提取系统日期并拼接成类似 20260728 的格式,确保每天生成的压缩包名字不同,不会互相覆盖-
。
第二步:测试你的脚本
保存好 backup.bat 文件后,双击运行它。检查一下B文件夹里是否生成了新的 .rar 压缩包,确保没有报错。如果是第一次运行,因为还没有30天前的文件,不会触发删除操作。
第三步:设置定时任务
最后,我们把这个脚本添加到Windows的“任务计划程序”中,让它自动运行。
打开任务计划程序:按下键盘上的
Win + R键,输入taskschd.msc并回车-3。创建基本任务:在右侧的操作面板中,点击 “创建基本任务...”-
。设置名称和触发器:
名称:输入一个你记得住的名字,比如“每日自动备份”。
触发器:选择你想要的执行频率,例如 “每天” ,然后设置具体时间(比如凌晨2点)。
设置操作:
完成:点击“完成”即可-。
设置好后,你的电脑就会在每天设定的时间自动执行备份和清理工作了。


