7-Zip按批处理文件解压缩所选文件

问题描述


我尝试创建批处理文件以简化* .zip存档的操作,该存档包含eCAD系统的电气零件信息(即Altium Designer)
我使用提供组件模型的WWW压缩文件。通常,我会下载数十个这些文件以导入到eCAD。每个Zip文件都有很多乱七八糟的东西,因此只有很少的文件提取可用。

邮政编码具有通常的结构(示例)
PARTNAME.zip包含内容
.PARTNAME /目录
..PADS /子目录
有些文件以* .d * .p * .c和* .asc结尾

我尝试仅将这4个文件提取到批处理文件中指定的%WorkingDir%目录中。

...
set ZipApp=C:\Program Files\7-Zip\7z.exe
"C:\Program Files\7-Zip\7z" e LIB.zip -o%WorkingDir% -r -i*.d -i*.p -i*.c -i*.asc
...

以不正确的通配符打字机标记* .d结尾

将来,我还将对当前目录中的每个* .ZIP存档进行递归操作。

感谢您的提示...

解决方法

您必须使用@指定列表文件,或者使用!指定通配符。因此,您的命令应为:

"C:\Program Files\7-Zip\7z" e LIB.zip -o%WorkingDir% -r -i!*.d -i!*.p -i!*.c -i!*.asc

在运行7z时不带参数的帮助文本中对此进行了详细说明,相关位为:

-i[r[-|0]]{@listfile|!wildcard} : Include filenames
                     ^
                    here