安装包(*.exe)使用7z自行解压

本文介绍了一种使用7-Zip命令行工具来解压*.exe安装包的方法,并对解压后的文件进行数字签名认证的过程。文章提供了一个Python脚本示例,演示了解压操作的具体实现。

今天接到一个小活,需要在打包平台中接一个小脚本。需要对*.exe安装包进行解压并对其解压后的文件进行数字签名认证。起初以为是多么easy的事情,结果在实际操作中发现通过使用import zipfile、import tarfile均宣告解压失败。

不过发现7z到是可以解压,

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import os
import sys

def Extract_File(filePath,target):
    """"""
    zip_command = r'C:\Progra~1\7-Zip\7z' + " "+"x %s -y -o%s" %(filePath,target)
    print zip_command 
    os.system(zip_command)
    

“zip_command = r'C:\Progra~1\7-Zip\7z' + " "+"x %s -y -o%s" %(filePath,target)”直接通过os.system执行该命令行,搞定!

备注:命令行中参数“x”为全路径解压,相当于在*.exe文件上右键执行“7-zip|提取到.....”。开始使用的参数“e”,结果递归把*.exe中包含的二级exe文件也解压了(eg:安装包中的执行exe和uninstall.exe等)。-y 跳过询问一路执行到底,-o设置输出路径

解压成功剩下的就nice了:

1 def recursion_File(path):
2     for root,dir,files in os.walk(path):
3         for file in files:
4             #调用小工具循环执行签名验证


 

转载于:https://www.cnblogs.com/kratos0517/archive/2013/05/06/3063252.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值