7zip bat /命令将多个文件夹压缩到多个相应的存档,而无需存档中的文件夹

时间:2016-02-03 17:39:01

标签: batch-file zip archive 7zip

我经常将图片或其他项目相关文档的文件夹压缩成单独的zip文件,我使用的bat文件中的当前命令是。

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

它会自动将所有文件夹的完整内容放在单独的存档文件中。 我的问题是,如果您双击任何档案,它首先导航到与档案同名的文件夹。有没有办法让它变得没有文件夹,只有内容?

现在我得到了

D:\User\1501.7z\1501\ contents

我只想要

D:\User\1501.7z\ contents

如果可以的话,可以设置第二个,这样如果其中一个文件夹中有多个文件夹,则每个文件夹的所有内容都放在on目录中,而不是在存档中有多个文件夹。

谢谢, 贝

1 个答案:

答案 0 :(得分:1)

这会将工作目录设置为您要压缩的文件夹,并将zip文件从该目录保存一级。

@echo off
for /d %%X in (*) do (
    PUSHD "%%X"
    "D:\Program Files\7-Zip\7z.exe" a "..\%%X.7z" "*"
    POPD
)