如何递归压缩每个文件夹下的每个文件?

如何递归压缩每个文件夹下的每个文件?

我正在尝试编写一个批处理脚本,当它运行到一个文件夹中时,它会将该文件夹中的所有文件压缩为一个文件,然后获取剩余的文件夹并查看它们并执行相同操作,将 zip 文件保存到每个文件夹中。

例子:

folder1
   file1.ext
   file2.ext
   folder2
      file3.ext
      file4.ext

应该成为

folder1
   file1.ext
   file2.ext
   folder1.zip containing file1.ext and file2.ext
   folder2
      file3.ext
      file4.ext
      folder2.zip containing file3.ext and file4.ext

答案1

温拉!

  1. 选择所有文件夹
  2. 右键单击 > 添加到存档
  3. 在 WinRAR 选项中转到文件选项卡
  4. 在底部的存档部分,选择“将每个文件放入单独的存档”
  5. 好的。

现在每个文件夹都将被创建到新的 RAR 或 Zip 档案中。

答案2

如果您有 UNIX 背景,您可以安装 Cygwin 并编写 Bash 脚本,以递归调用 Cygwin zip 命令或任何其他 zip 命令行界面 (CLI) 程序来下降目录。

您还可以安装 Python,这样递归下降的脚本就更简单了。每个步骤都可以调用 CLI zip 程序。

您可能可以使用 Powershell,但不确定它如何容易地用于递归下降。

相关内容