吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 271|回复: 7
收起左侧

[资源求助] 求个能批量双层压缩文件的脚本或小工具

[复制链接]
768187091 发表于 2024-8-12 19:20
25吾爱币
需求
1.能同时批量双层压缩文件 .文件夹
2.能使用指定密码 (双层密码)
3.如果可以的话内核请使用7zip
(最好能带上你的 7-zip包)

最佳答案

查看完整内容

压完了再放进去压不就实现了

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

风之暇想 发表于 2024-8-12 19:20
768187091 发表于 2024-8-12 20:08
谢谢回复  双重压缩密码(两层不同密码) 好像兄弟那个实现不了

压完了再放进去压不就实现了
风之暇想 发表于 2024-8-12 19:42
 楼主| 768187091 发表于 2024-8-12 20:08

谢谢回复  双重压缩密码(两层不同密码) 好像兄弟那个实现不了

点评

压完了再放进去压不就实现了  详情 回复 发表于 2024-8-12 20:15
lvshu 发表于 2024-8-13 08:25
两个版本 ,Windows批处理
@echo off
setlocal

:: 设置你的密码
set password=YourSecurePassword

:: 第一层压缩
for /r %%i in (*) do (
    7z a "%%~ni.7z" "%%~fi"
)

:: 第二层压缩
for /r %%i in (*.7z) do (
    7z a -p%password% "%%~ni_encrypted.7z" "%%~fi"
)

:: 清理第一层压缩文件
for /r %%i in (*.7z) do (
    del "%%i"
)

echo All files have been compressed and encrypted.
pause
lvshu 发表于 2024-8-13 08:26
Python版本
import os
import py7zr

def compress_and_encrypt(folder_path, output_path, password):
    with py7zr.SevenZipFile(output_path, 'w', password=password) as archive:
        archive.writeall(folder_path, arcname=os.path.basename(folder_path))

def compress_folders_in_directory(directory, password):
    for folder in os.listdir(directory):
        folder_path = os.path.join(directory, folder)
        if os.path.isdir(folder_path):
            output_path = f"{folder_path}_encrypted.7z"
            compress_and_encrypt(folder_path, output_path, password)

# 调用函数
compress_folders_in_directory('C:\\path\\to\\your\\folders', 'YourSecurePassword')
lvshu 发表于 2024-8-13 08:34
lvshu 发表于 2024-8-13 08:26
Python版本
import os
import py7zr

再加点注释
import os
import py7zr

def compress_and_encrypt(folder_path, output_path, password):
    # 使用py7zr库创建一个7z格式的压缩文件
    # 'w' 表示写入模式,'password' 参数用于加密压缩文件
    with py7zr.SevenZipFile(output_path, 'w', password=password) as archive:
        # 使用writeall方法将整个文件夹及其内容添加到压缩文件中
        # arcname参数用于指定在压缩文件中的名称
        archive.writeall(folder_path, arcname=os.path.basename(folder_path))

def compress_folders_in_directory(directory, password):
    # 遍历指定目录下的所有文件和文件夹
    for folder in os.listdir(directory):
        # 拼接完整的文件夹路径
        folder_path = os.path.join(directory, folder)
        # 检查路径是否为文件夹
        if os.path.isdir(folder_path):
            # 拼接输出的压缩文件路径,添加'_encrypted.7z'后缀
            output_path = f"{folder_path}_encrypted.7z"
            # 调用compress_and_encrypt函数进行压缩和加密
            compress_and_encrypt(folder_path, output_path, password)

# 调用函数,传入需要压缩的文件夹所在目录和密码
compress_folders_in_directory('C:\\path\\to\\your\\folders', 'YourSecurePassword')
lvshu 发表于 2024-8-13 08:39
768187091 发表于 2024-8-12 20:08
谢谢回复  双重压缩密码(两层不同密码) 好像兄弟那个实现不了

按照你需要的压缩格式 ,先加密压缩 ,然后再把压缩过后的文件再进行加密压缩 ,就达到了双层压缩,双层密码的效果
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-16 00:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表