使用 7zip 命令将目录中的文件归档到单个 zip [关闭]
Posted
技术标签:
【中文标题】使用 7zip 命令将目录中的文件归档到单个 zip [关闭]【英文标题】:Archiving files in directory with 7zip command into single zips [closed] 【发布时间】:2014-11-15 20:59:11 【问题描述】:在这里做了很多搜索之后,我设法整理了一个使用 7zip 归档文件目录的批处理脚本。我遇到的问题是,它不是将每个文件放入它自己的 zip 文件中,而是多次归档整个文件文件夹并简单地重命名它们以匹配文件夹中的每个文件。
for %%X in (C:\test\*.txt) do "C:\Program Files (x86)\7-Zip\7z.exe" a -tzip "%%X.zip" *.txt
在上面的代码中,想法是在 C:\test\ 中查找所有 txt 文件,并将它们压缩成单独的 zip 文件。它有点这样做,但不是有多个 zip 文件,每个文件里面有 1 个文件,我有多个 zip 文件,里面有每个文本文件。除了名称之外,每个 zip 都是相同的。
有人有什么想法吗?我确定我只是在错误的地方粘贴了一些东西,但我已经尝试了目前我能想到的所有方法。
【问题讨论】:
但是...您显然是在要求 7-zip 创建单独命名的 zip 文件,然后添加*.txt
。你为什么不将文件名也传递给 zip 到 7-zip,即。你为什么使用 *.zip?
如果你用%%X
替换最后的*.txt
会发生什么?
顺便提一下,这个问题更适合Super User。
【参考方案1】:
让我们分解你的命令:
对于文件夹中的每个文本文件:
for %%X in (C:\test\*.txt) do
创建一个与文本文件同名的 zip 文件,仅添加 .zip:
"C:\Program Files (x86)\7-Zip\7z.exe" a -tzip "%%X.zip"
并添加文件夹中的所有文件:
*.zip
第 3 点显然是错误的。您想添加保证 zip 文件的单个文件:
"%%X"
完整的命令应该如下所示:
for %%X in (C:\test\*.txt) do "C:\Program Files (x86)\7-Zip\7z.exe" a -tzip "%%X.zip" "%%X"
【讨论】:
就是这样!哇..我可以发誓我尝试了 100 倍。这就是我盯着它看太久的结果。以上是关于使用 7zip 命令将目录中的文件归档到单个 zip [关闭]的主要内容,如果未能解决你的问题,请参考以下文章