【问题标题】:Zip up 500k + files based on their creation date根据创建日期压缩 500k + 文件
【发布时间】:2015-09-03 23:22:58
【问题描述】:

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

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

【问题讨论】:

  • 我知道WinRAR可以单独归档目录中的项目,我无法想象7Zip没有这个功能。您在搜索 7Zip 文档时发现了什么?

标签: windows batch-file zip command-prompt


【解决方案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 天前的所有文件复制到 temp 目录中,然后为您将其全部压缩。

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

【讨论】:

  • 顺便提一下,这不使用 7zip
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-08
  • 2019-06-24
  • 1970-01-01
  • 2015-05-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多