【问题标题】:7-Zip to decompress selected files by batch file7-Zip 通过批处理文件解压缩选定的文件
【发布时间】:2020-10-08 07:17:08
【问题描述】:

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

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 存档递归地执行此操作。

感谢您的提示...

【问题讨论】:

  • 非常 边界编程相关(事实上你正在做一个批处理文件),但无论如何我都会回答。不过,我不会对长期存在的问题抱太大希望:-)

标签: batch-processing 7zip


【解决方案1】:

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

"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

【讨论】:

  • Command Line Error : Unknown Switch - by 变量 %WorkingDir% 中的目录名称,C:\KPR - Altium pr├íce\Libraries\Working ...也许我应该重命名为英文
  • @KPr,这可能是个好主意,但我认为导致 this 问题的原因是您的路径中存在- 以及发生的非常基本的替换:@ 987654329@ - “裸”- 被视为命令行选项,如set xx=aa - bb 然后7z a -o%xx% 所示,给出了确切的错误消息。你可能会发现-o"%WorkingDir%" 就足够了。
猜你喜欢
  • 2012-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-14
  • 2014-04-19
  • 1970-01-01
  • 2022-06-15
  • 1970-01-01
相关资源
最近更新 更多