rar解压密码是多少_怎么实现RAR文件的批量解压

一、前言

本文实现RAR批量解压的功能,通过python脚本调用WinRAR.exe解压文件时似乎不会再有广告框弹出。

二、实现

通过python调用WinRAR.exe程序实现RAR文件的批量解压,代码如下:

import argparse

import os

class RarExtractor:

def __init__(self, in_dir=”./”, out_dir=”./”, pwds=None, exe=None):

self.in_dir = in_dir

self.out_dir = out_dir

self.pwds = pwds if pwds else [‘1234’]

self.exe = ‘”%s”‘ % exe if exe else ‘”C:Program FilesWinRARWinRAR.exe”‘

def extract_files(self, pwds, file_path, dst):

if not os.path.exists(dst):

os.mkdir(dst)

if os.path.isdir(dst) and os.path.isfile(file_path):

try:

for pwd in pwds:

extract_cmd = r’%s x -y -p%s %s %s’ % (self.exe, pwd, file_path, dst)

if os.system(extract_cmd) == 0:

print(“Extract %s OK.” % file_path)

return 0

else:

print(“Extract %s failed.” % file_path)

return -1

except RuntimeError:

print(“error”)

return -1

else:

print(‘File not exist’)

return -1

def extract_all_rar(self):

for root, dirs, files in os.walk(self.in_dir):

for f in files:

(filename, ext) = os.path.splitext(f)

if ext == ‘.rar’:

file_path = os.path.join(root, f)

print(file_path)

self.extract_files(self.pwds, file_path, os.path.join(self.out_dir, filename))

def _parse_options():

parser = argparse.ArgumentParser()

parser.add_argument(“–in_dir”, action=”store”, dest=”in_dir”, required=True, help=”Rar files dir”)

parser.add_argument(“–out_dir”, action=”store”, dest=”out_dir”, required=False, help=”Extracted file dir”)

parser.add_argument(“–pwds”, nargs=’+’, action=”store”, dest=”pwds”, required=False,

help=”Password list to extract Rar: –pwds 1111 2222 3333″)

parser.add_argument(“–exe”, action=”store”, dest=”exe”, required=False, help=”RAR exe install path”)

return parser.parse_args()

if __name__ == ‘__main__’:

options = _parse_options()

extractor = RarExtractor(options.in_dir, options.out_dir, options.pwds, options.exe)

extractor.extract_all_rar()

需要传入的参数为:

–in_dir RAR文件所在目录,默认是当前目录

–out_dir 指定解压后输出的目录,默认是当前目录

–pwds 如果RAR是加密的,则需要指定解压密码,可以指定多个密码,以空格隔开

–exe 指定WinRAR.exe所在的目录,默认是”C:Program FilesWinRARWinRAR.exe”

三、测试

在目录D:rar_test下新建3个txt文件,使用RAR加密压缩,密码为1024、2048和4096。

通过以下命令测试:

python rar_extractor.py –in_dir D:rar_test –out_dir D:rar_test –pwds 1024 2048 4096 –exe “C:Program FilesWinRARWinRAR.exe”

rar解压密码是多少_怎么实现RAR文件的批量解压

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 787013311@qq.com 举报,一经查实,本站将立刻删除。
(0)
上一篇 2023-03-15 10:34:51
下一篇 2023-03-15 10:37:27

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注