使用7zip命令将目录中的文件存档到单个zip中

时间:2014-11-15 20:59:11

标签: batch-file archive 7zip

在这里做了很多搜索之后,我设法将一个使用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都相同。

任何人都有一些想法?我确定我只是把东西放在了错误的地方,但我已经尝试了我能想到的所有东西。

1 个答案:

答案 0 :(得分:2)

让我们打破你的命令:

  1. 对于文件夹中的每个文本文件:

    for %%X in (C:\test\*.txt) do
    
  2. 创建一个与文本文件同名的zip文件,只添加.zip:

    "C:\Program Files (x86)\7-Zip\7z.exe" a -tzip "%%X.zip"
    
  3. 并添加文件夹中的所有文件:

    *.zip
    
  4. 第3点显然是错误的。您想要添加保证zip文件的单个文件:

    "%%X"
    

    完整的命令应如下所示:

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