求一个能自动压缩文件或者文件夹随机生成密码,并记录的工具

查看 92|回复 9
作者:yuyixia1000   
[color=]求一个能自动压缩文件或者文件夹随机生成密码,并记录的工具
[color=]主要用途是想要多个压缩文件,每个压缩文件的压缩密码都不一样,而且为了防止遗忘密码。
[color=]记录压缩密码

压缩文件, 密码

cndeng   

[Python] 纯文本查看 复制代码
import os
import random
import string
import subprocess
def compress_files_with_random_password(input_paths):
    log_file = "compression_log.txt"
    with open(log_file, 'a') as log:
        for path in input_paths:
            if os.path.exists(path):
                # 生成随机密码
                random_password = ''.join(random.choices(string.ascii_letters + string.digits, k=12))
               
                # 获取文件/文件夹的基本名
                base_name = os.path.basename(path)
               
                # 压缩文件/文件夹
                compressed_file = f"{base_name}.zip"
                subprocess.run(['zip', '-r', '-P', random_password, compressed_file, path])
               
                # 记录压缩包名称、压缩包密码和参数列表到日志文件中
                log.write(f"Compressed File: {compressed_file}, Password: {random_password}, Original Path: {path}\n")
            else:
                print(f"路径 '{path}' 不存在.")
# 测试脚本
input_paths = ["folder1", "file.txt", "folder2"]
compress_files_with_random_password(input_paths)
wendalee   

360压缩就能实现记录
yuyixia1000
OP
  


cndeng 发表于 2024-6-26 16:30
[mw_shl_code=python,true]
import os

老哥   想要一个exe,  小白也能用的    代码不会用呀
yuyixia1000
OP
  


wendalee 发表于 2024-6-26 16:35
360压缩就能实现记录

那这个软件记录能导出来另存一份和随机生成密码吗
yuyixia1000
OP
  


wendalee 发表于 2024-6-26 16:35
360压缩就能实现记录

刚试了一下 不能记录每一个文件的密码
wendalee   


yuyixia1000 发表于 2024-6-26 16:56
刚试了一下 不能记录每一个文件的密码

你要实现批处理哈?可以写个脚本
kerolove   

7-Zip是一个免费的开源压缩软件,支持各种压缩格式,例如zip、rar、tar等,并且可以设置密码进行加密。可以使用其中的命令行选项,在脚本中使用随机密码并存储到文本文件中。以下是一些适用于此场景的示例脚本:
1. 批量压缩文件夹,并生成指定长度的随机密码
```
@echo off
setlocal enabledelayedexpansion
set password_length=8
set output_file="passwords.txt"
set archive_format=zip
for /d %%a in (*) do (
set password=
for /l %%i in (1,1,%password_length%) do (
set /a "rand_num=!random! %% 62"
for %%j in (!rand_num!) do (
set "password=!password!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:~%%j,1!"
)
)
echo !password! >> %output_file%
7z a -t%archive_format% -p!password! "%%a.%archive_format%" "%%a\*"
)
```
2. 对单个文件进行加密,并将随机密码输出到命令行窗口
```
@echo off
setlocal enabledelayedexpansion
set password_length=8
set output_file="passwords.txt"
set archive_format=zip
set password=
for /l %%i in (1,1,%password_length%) do (
set /a "rand_num=!random! %% 62"
for %%j in (!rand_num!) do (
set "password=!password!abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:~%%j,1!"
)
)
echo !password! >> %output_file%
7z a -t%archive_format% -p!password! "output.%archive_format%" "input_file"
```
以上脚本可以使用Windows的命令行提示符(cmd.exe)来运行,也可以嵌入到批处理文件中进行多个文件的压缩。请注意,这些脚本只是示例代码,可能需要根据实际情况进行修改和调整。
yuyixia1000
OP
  


kerolove 发表于 2024-6-26 17:05
7-Zip是一个免费的开源压缩软件,支持各种压缩格式,例如zip、rar、tar等,并且可以设置密码进行加密。可以 ...

老哥  你这能打包成exe工具吗
yuyixia1000
OP
  


wendalee 发表于 2024-6-26 17:03
你要实现批处理哈?可以写个脚本

第一个,他做不到文件跟密码对应记录,还有就是我不会写脚本呀   要是会写就不来求助了
您需要登录后才可以回帖 登录 | 立即注册

返回顶部