根据创建日期压缩500k +文件

时间:2015-09-03 23:22:59

标签: windows batch-file zip command-prompt

我继承了一个包含500,000个PDF(每个大约300kb +)的文件夹和一堆JPG(每个大约100kb +)。

我在Windows上,想知道是否或如何根据创建日期将它们移动到文件夹中,然后通过批处理命令单独压缩每个文件夹(我使用的是7zip)。

1 个答案:

答案 0 :(得分:1)

你可以这样做:

set DIRTOZIP="C:/MyPath"
set TEMPDIR="C:/MyTempPath"
set ZIPFILE="C:/MyPath/MyZipFile.zip"
rmdir %TEMPDIR%
mkdir %TEMPDIR%
ROBOCOPY /maxage:3 /minage:3 %DIRTOZIP% %TEMPDIR%
echo Set objArgs = WScript.Arguments > _zipIt.vbs
echo InputFolder = objArgs(0) >> _zipIt.vbs
echo ZipFile = objArgs(1) >> _zipIt.vbs
echo CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" ^& Chr(5) ^& Chr(6) ^& String(18, vbNullChar) >> _zipIt.vbs
echo Set objShell = CreateObject("Shell.Application") >> _zipIt.vbs
echo Set source = objShell.NameSpace(InputFolder).Items >> _zipIt.vbs
echo objShell.NameSpace(ZipFile).CopyHere(source) >> _zipIt.vbs
echo wScript.Sleep 2000 >> _zipIt.vbs
CScript  _zipIt.vbs  %TEMPDIR%  %ZIPFILE%

注意ROBOCOPY行,maxage变量设置为3,minage变量也设置为3,这会将3天前的所有文件复制到临时目录中,然后将其全部压缩。

我还没有测试过这个剧本,但之前我曾经使用过类似的东西。