首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于7z的命令行,用于从归档文件中的特定文件夹提取特定文件

用于7z的命令行,用于从归档文件中的特定文件夹提取特定文件
EN

Stack Overflow用户
提问于 2015-08-13 17:27:21
回答 2查看 27.6K关注 0票数 7

我正在编写一个Python脚本,其中我需要调用7z来提取保存在归档中的目录中的一些文件,而无需提取完整的归档。归档文件包含多个目录,我需要从特定目录中提取一些文件。

假设"abc.7z“是一个包含多个目录的归档文件,即"temp”、"windows“、"system”、"data“。我只想从目录"system“中提取一些.exe文件,因为这些.exe文件可能也存在于其他目录中,但我只对"system”中的文件感兴趣。

我所需要的就是7z命令;我将弄清楚如何从脚本中调用7z。谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-13 18:03:52

您可以在命令行末尾指定文件/文件夹筛选器。有关7zip命令行命令和选项的更多详细信息,请查看this

代码语言:javascript
复制
7z.exe x [archive.7z] -o[output_dir] [filter]

例如7z.exe x abc.7z -aoa -oC:\Temp system

还可以从系统文件夹中指定特定类型的文件。例如,system\*.exe将解压system目录中的所有.exe文件。

-aoa选项用于覆盖模式。

要在Python中调用它,可以使用subprocess模块。类似于:

代码语言:javascript
复制
import subprocess

cmd = []
cmd.append(r'C:\Program Files\7-Zip\7z.exe')
cmd.append('x')
cmd.append(archive)
cmd.append('-aoa')
cmd.append('-o{}'.format(dst_part))
cmd.append(file_folder_filter)
subprocess.call(cmd)
票数 20
EN

Stack Overflow用户

发布于 2016-10-14 15:35:52

从7z压缩包中提取特定目录的步骤:

具体目录:rootdir/firstson/second

压缩文件: test.7z

要使用的命令:

代码语言:javascript
复制
7z x test.7z rootdir/firstson/second
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31984387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档