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

Zip up 500k + files based on their creation date

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

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

你可以这样做:

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 天前的文件复制到临时目录中,然后为您全部压缩。

我没有测试过这个脚本,但我以前用过类似的东西。