一个10行的7-Zip批处理脚本就能把1000个文件夹各压成带AES-256密码的加密包、GPG两行命令批量加密所有PDF后只用一个公钥就能解密、企业级透明加密软件一年几十万做到的是文件一保存就自动加密全程对员工无感,普通个人和中小企业用前两套免费方案完全够用,没必要为一个"批量加密"的需求掏几十万的年费
批量文件加密这件事,市面上方案的价格从0元到几十万一年都有,差别不在加密算法本身——AES-256大家都是同一个标准。差别在"加密发生在哪个环节"和"加密之后怎么协作"。你用7-Zip命令行脚本批量加密,本质是"我先手动打包加密,再把加密文件发给对方,对方输密码解压"。企业级透明加密是"文件在硬盘上保存的那一刻就自动被加密了,员工完全感觉不到,但文件一旦被复制到U盘或发到外部邮箱,对方打开就是乱码"。同一个AES-256,前者零成本,后者要几十万,因为后者多了一个"自动化"和一个"边界管控"。
2026年文件批量加密的五种技术路线
· 压缩包加密(7-Zip/WinRAR/Bandizip):文件→压缩包+AES-256密码,最通用最简单
· 虚拟加密盘(VeraCrypt):创建加密容器文件,挂载后像一个U盘,卸载后所有内容不可见
· 文件级透明加密(AxCrypt/企业软件):单文件或批量加密,可设置密钥共享
· 云同步加密(Cryptomator):文件在本地加密后才上传到云盘,云端永远是密文
· 命令行/脚本加密(GPG/OpenSSL):纯命令行,可集成到自动化流程,服务器端批量处理首选

一、九款主流批量加密工具,按"能不能真的批量"来排
二、三种最实用的免费批量加密脚本,拿来就能跑
方案一:7-Zip批处理——Windows上批量加密的最简方案
7-Zip是目前Windows上装机量最大的免费压缩工具,它的命令行版本支持AES-256加密和文件名加密。下面这个脚本遍历当前目录下所有文件和子文件夹,把每个文件/文件夹单独压缩成一个带密码的.7z加密包:
@echo off
SET "P7Z=C:\Program Files\7-Zip\7z.exe"
SET "PASS=MySecurePassword123"
for %%f in (*.*) do (
if not "%%f"=="batch_encrypt.bat" (
echo 正在加密: %%f
"%P7Z%" a -t7z -mhe=on -p%PASS% "%%~nf.7z" "%%f"
)
)
echo 全部加密完成。
pause
# 关键参数说明:
# -t7z:使用7z格式(-mhe文件名加密仅7z格式支持)
# -mhe=on:加密文件列表,不输密码看不到里面有什么文件
# -p%PASS%:设置密码。生产环境建议改成 set /p PASS=输入密码: 手动输入
方案二:GPG公钥加密——不传密码,只传公钥
如果需要把一批文件加密后发给特定的人,GPG的公钥加密模式比7-Zip的密码模式更安全——你不需要通过微信或邮件把密码发给对方,只需要对方的公钥。加密后的文件只有持有对应私钥的人才能解开。
# 先导入接收方的公钥
gpg --import partner_public_key.asc
# 批量加密所有PDF文件
for f in *.pdf; do
gpg --encrypt --recipient partner@example.com "$f"
echo "已加密: $f → ${f}.gpg"
done
# 如果需要对称加密(密码模式):
gpg --symmetric --cipher-algo AES256 "$filename"
方案三:OpenSSL命令行——服务器端批量加密,系统自带零安装
Linux和macOS系统自带OpenSSL,无需安装任何额外工具。下面这条命令用AES-256-CBC加密单个文件,配合find循环就是批量方案:
# 加密单个文件
openssl enc -aes-256-cbc -pbkdf2 -in input.txt -out input.txt.enc
# 批量加密所有.txt文件
for f in *.txt; do
openssl enc -aes-256-cbc -pbkdf2 -pass pass:YourPassword -in "$f" -out "${f}.enc"
done
# 解密
openssl enc -d -aes-256-cbc -pbkdf2 -pass pass:YourPassword -in file.txt.enc -out file.txt
三个脚本的共同注意事项:① 密码不要硬编码在脚本里。7-Zip批处理用set /p手动输入,GPG用公钥模式免密码,OpenSSL用环境变量或-pbkdf2交互式输入。② 加密完成后记得用对应命令测试解密一两个文件,确认密码和命令参数正确。③ 加密后的.7z/.gpg/.enc文件不要和原文件放在同一目录,否则等于白加密。

三、不同场景选不同方案,没必要上企业级
四、四个容易被忽视的坑,和加密算法本身无关
坑一:密码写在脚本里,脚本存在云盘里
7-Zip批处理里写了SET PASS=MyPassword123,然后把这个bat文件顺手同步到了OneDrive。等于把加密文件的密码存在了云盘里。密码用set /p交互式输入,或者用环境变量传参,或者干脆用GPG公钥模式彻底去掉密码传输。
坑二:加密完忘了删原文件
批量加密后生成了100个.7z加密包,但原来的100个明文文件还躺在同一个目录里。加密的意义直接归零。脚本末尾加一行del或rm命令自动删除原文件(先在测试目录里确认加密包能正常解密再执行删除)。

坑三:加密了文件名但没加密文件类型
7-Zip的-mhe=on只加密了压缩包内的文件列表,但.7z这个扩展名本身暴露了"这是一个加密压缩包"。如果需要彻底隐藏加密痕迹,把扩展名改成.dat或无扩展名,或者用VeraCrypt创建加密卷(整个容器文件看起来就是一堆随机数据)。
坑四:用ZIP格式加密而不是7z格式
ZIP格式的加密使用传统的ZipCrypto算法,已有成熟的破解工具。而7z格式使用AES-256加密,目前没有有效的攻击方法。7-Zip的右键菜单默认是zip,命令行里记得用-t7z强制使用7z格式。
五、加密后怎么安全地分享:三种模式对应三种需求
GPG公钥加密为什么比密码加密更安全:
传统密码加密有一个无解的问题——你怎么把密码安全地告诉接收方?发微信?微信聊天记录可能泄露。发邮件?邮件可能被拦截。打电话?电话可能被录音。GPG公钥加密完美绕开了这个问题:你只需要对方的公钥(公开的,随便传),用公钥加密后,只有持有对应私钥的人能解密。私钥从未离开过对方的手,你从来不需要知道对方的私钥是什么。
文件批量加密这件事,除非你是50人以上的公司需要全员文件自动加密+外发拦截+审计追溯,否则7-Zip批处理+GPG公钥加密+OpenSSL脚本这三套免费方案,在加密强度上和几十万的企业方案没有任何差距。AES-256就是AES-256,不会因为你多花了钱就更安全。多花的钱买的是"自动化"和"协作管控",不是买加密强度。搞清楚自己到底需要什么,别为一个10行批处理脚本能搞定的事情去签几十万的年单。
