我来为您介绍几种批量加密7-zip压缩文件的方法。

使用7-Zip命令行(最推荐)
为多个文件逐个加密压缩
@echo off
set "password=你的密码"
for %%f in (*.txt *.docx *.jpg) do (
7z a -p%password% -mhe "%%~nf.7z" "%%f"
)
批量加密已有7z文件
@echo off
set "oldpass=旧密码"
set "newpass=新密码"
for %%f in (*.7z) do (
7z rn -p%oldpass% "%%f" -p%newpass%
)
PowerShell脚本
# 设置参数
$password = "你的密码"
$files = Get-ChildItem -Path "C:\你的文件夹" -File
foreach ($file in $files) {
$outputFile = $file.FullName + ".7z"
& "C:\Program Files\7-Zip\7z.exe" a -p$password -mhe $outputFile $file.FullName
}
使用批处理脚本(带进度显示)
@echo off
setlocal enabledelayedexpansion
set "password=YourStrongPass123"
set "source_dir=C:\源文件夹"
set "output_dir=C:\加密输出文件夹"
echo 开始批量加密文件...
for %%f in ("%source_dir%\*.*") do (
echo 正在处理: %%~nxf
7z a -p%password% -mhe -r "%output_dir%\%%~nf.7z" "%%f"
if !errorlevel! equ 0 (
echo ✓ %%~nxf 加密成功
) else (
echo ✗ %%~nxf 加密失败
)
)
echo 批量加密完成!
pause
Python脚本(更灵活)
import os
import subprocess
def batch_encrypt_7z(source_dir, password, seven_zip_path):
"""批量加密文件夹中的文件"""
for filename in os.listdir(source_dir):
filepath = os.path.join(source_dir, filename)
if os.path.isfile(filepath):
output_file = filepath + ".7z"
cmd = [
seven_zip_path,
"a",
f"-p{password}",
"-mhe", # 加密文件头
output_file,
filepath
]
try:
subprocess.run(cmd, check=True)
print(f"已加密: {filename}")
except subprocess.CalledProcessError:
print(f"加密失败: {filename}")
# 使用示例
batch_encrypt_7z(
source_dir="C:\\your_files",
password="你的密码",
seven_zip_path="C:\\Program Files\\7-Zip\\7z.exe"
)
重要参数说明
-p:设置密码-mhe:加密文件头(推荐启用)-r:递归处理子目录-tzip:输出ZIP格式(默认7z)
注意事项
- 安全性:密码长度至少8位,包含大小写字母、数字和特殊字符
- 备份:批量操作前建议先备份原始文件
- 测试:先用少量文件测试脚本
- 密码管理:建议使用密码管理器存储密码
需要我详细解释某个方法或帮助调试脚本吗?
标签: 7zip
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。