原文如下:
bat脚本:自动压缩n天前的文件-中原小伙-ChinaUnix博客
http://blog.chinaunix.net/uid-24946452-id-1651762.html
磁盘空间有限,又不能删除,只能定期对旧文件进行压缩以尽量节省空间。在windows2003上做这件事情比较简单,在之前的平台上就麻烦些。主要是查找n天前的文件的实现有区别。在2003及以后的windows系统版本,都有一个forfiles的命令来查找文件,之前的只能通过bat命令来实现这个功能了。这两种方法的详细用法,我都有转文章。这里就不详述了。
测试时发现还是WinRAR功能强大啊,比HaoZip之类好用。好不容易搞到一个破解版,就用它了。
具体代码:
::::::::::::::::::::::::::::::::::::::::::::::::::
:: NMON Compress 1.0 ::
:: wumingshi ::
:: Use WinRAR ::
:: 20110712 ::
::::::::::::::::::::::::::::::::::::::::::::::::::
::Compress NMon Files 30 Days Before ::
::::::::::::::::::::::::::::::::::::::::::::::::::
::RAR required registration , HaoZip also can do ::
::this,just not powerful enough ::
::for example ::
::set Path=;"C:\Program Files\HaoZip"; ::
::%SystemRoot%\system32 ::
:: forfiles /p "DIR" /d -30 /c "cmd /c ::
::HaoZipC a -tzip @file.zip @path" ::
::::::::::::::::::::::::::::::::::::::::::::::::::
set Path=;"C:\Program Files\WinRAR";%SystemRoot%\system32
forfiles /p "e:\test" /d -30 /c "cmd /c WinRAR a -afzip -df -ep @file.zip @path"
winRAR参数说明:
a 是命令,表示添加
-af 压缩类型开关,这里指定为zip
-df 压缩后删除源文件
-ep 压缩时不带文件路径