将某个日期的zip文件压缩为zip文件

时间:2014-10-23 17:55:00

标签: datetime batch-file time zip 7zip

我试图每天都运行一个批处理文件。批处理需要使用当前系统日期压缩所有文件。

我现在有以下内容并且它正在工作但是正在压缩所有文件。

@echo off
"c:\Program Files\7-Zip\7z.exe" a -tzip "C:\test\location_zip\zip_file_%date:~6,4%-%date:~3,2%-%date:~0,2%" "C:\test\*.*"
pause

有人可以帮我拉一下用系统日期创建的文件吗?

非常感谢,

1 个答案:

答案 0 :(得分:0)

我没有7-zip解决方案。但是使用WinRAR,这很容易实现:

"%ProgramFiles%\WinRAR\WinRar.exe" a -ac -afzip -agYYYY-MM-DD -ao -cfg- -ed -ep1 -inul -m5 -r -tn24h "C:\test\location_zip\zip_file_" "C:\test\*.*"

a ...添加要存档的文件 -ac ...压缩后清除归档属性 -afzip ...创建ZIP存档而不是RAR存档 -agYYYY-MM-DD ...以YYYY-MM-DD格式将当前日期追加到档案文件名。
-ao ...仅添加设置了归档属性的文件 -cfg - ...忽略配置文件和RAR环境变量 -ed ...不要添加空目录 -ep1 ...从名称中排除基本目录,即C:\test\
-inul ...禁用所有错误消息 -m5 ...使用最佳压缩方法。
-r ...递归子目录。
-tn24h ...仅添加最近24小时内(最近24小时)的最后修改日期的文件。

WinRAR的单一许可证非常便宜,包括无限制的升级。 WinRAR许可证的几美元/欧元投入很好,考虑到编译批处理文件以便使用免费的7-zip进行存档所需的时间,因为WinRAR已有超过10年的缺失功能。 (我在1999年购买了WinRAR许可证,从未需要任何其他压缩工具。)