首页 > 解决方案 > 制作批处理文件以将文件夹的内容压缩到单独的 zip 中

问题描述

我需要一个批处理文件将当前目录的内容压缩成单独的 zip 文件(每个文件都有自己的 zip 文件)。我有兴趣了解有关制作批处理文件的更多信息,以便帮助分解脚本的含义。下面是在当前目录中压缩子目录的批处理,我打算尝试编辑它以压缩目录的单个文件,但我真的不知道如何,我找不到参考表或任何东西。因此,如果您有类似内容的链接,那就太好了。

for /d %%X in (*) do "C:\Program Files\7-Zip\7z.exe" a "%%X.zip" "%%X\"

我想我在这里理解的是:'for /d'将通过目录循环批处理'in(*)'指定当前目录'执行“可执行位置”'指定进程'a“%%X.zip "' 指定文件类型?我真的不明白什么是“%%X”

先感谢您。

标签: batch-filecmd

解决方案


如果您想将压缩子文件夹的内容更改为压缩文件,只需删除/d,然后它将查找文件而不是目录。

for %%X in (*) do "C:\Program Files\7-Zip\7z.exe" a "%%X.zip" "%%X"

回答你关于什么%%X是的问题:这就是变量。当您使用 for 进入循环时,您需要一些变量来表示您正在循环的内容。

当您通过循环时,%%X代表您正在处理的任何文件。因此,如果第一个文件是File1.txt,那么第一次通过循环,%%X将等于File1.txt

所以命令是:"C:\Program Files\7-Zip\7z.exe" a "File1.txt.zip" "File1.txt" 如果我记得 7-zip 参数,你说的是添加File.txt到一个名为 .zip 的 zip 文件File1.txt.zip。下一次循环,%%X代表下一个文件名。

顺便说一句,如果您在 CLI 中运行它(本质上是“命令提示符”),那么您将使用单个 %,而对于批处理文件,您必须使用两个 (%%)。


推荐阅读