找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 186|回复: 6

[文件操作] 发一个批量压缩下级目录并加密的批处理!

[复制链接]
发表于 前天 19:58 | 显示全部楼层 |阅读模式
如题:批量压缩下级目录并加密的批处理!.............言简意赅!

这几天搜索下载了30多G的DOS怀旧游戏压缩包.

下载下来的是分卷压缩包,
解压后得出1985个DOS游戏目录
随后想着打包上传到网盘里,
逐个单个目录压缩会很实用.
于是编写了个脚本..............
之前想过用 WINRAR 的 Rar.exe 命令行工具,
研究后发现 Rar.exe 好像不支持命令行带密码压缩,
后来就改写用 7-Zip 的 7z.exe命令行工具.

脚本必须写上7-Zip 的 7z.exe 命令行工具的位置
如果要便携使用,打包脚本和 7z.exe 两个文件,就可以使用了.

  1. @echo off
  2. Set 压缩程序=D:\7-Zip\7z.exe
  3. Set 压缩密码=9527
  4. Set 压缩目录=H:\DOS游戏\dos游戏目录
  5. Set 存放目录=H:\DOS游戏\1985
  6. setlocal enabledelayedexpansion

  7. For /f "delims=" %%i in ('Dir /A/B "%压缩目录%"') do ( Set "WJ=%%i"
  8. %压缩程序% a -tzip "%存放目录%\!WJ!" "%压缩目录%\!WJ!" -mx=9 -mmt -P%压缩密码%  )
  9. Echo................................................................
  10. Echo...............................................................................................................................
  11. Echo...............................................................................................................................
  12. Echo.压缩完成,按任意键退出!& Pause >Nul & Exit
复制代码


-------------------------上面写的是压缩下级所有目录-------------
---------------压缩目录下所有文件并加密-------------------
  1. @echo off
  2. SET 压缩程序=D:\7-Zip\7z.exe
  3. SET 压缩密码=9527
  4. SET 压缩目录=H:\**\要加密的文件不带目录
  5. SET 存放目录=H:\加密压缩好的存放目录
  6. setlocal enabledelayedexpansion

  7. For /f "delims=" %%i in ('dir /b "%压缩目录%"') do ( set wjN=%%~Ni&set wj=%%i
  8. %压缩程序% a -tzip "%存放目录%\!wjN!" "%压缩目录%\!wj!" -mx=9 -mmt -P%压缩密码% )

  9. ECHO 压缩完成,按任意键退出!& PAUSE >NUL & EXIT
复制代码


-------------------以上所有代码存 ANSI 编码.名字随便写-------------


脚本新写的,压缩1985个文件夹,运行了大半个小时了才压缩了300个目录,等待无聊,
所以就随手把脚本扔出来发个帖子,为了发帖改写成中文变量,方便新手学习借鉴
------------
发表于 昨天 08:05 | 显示全部楼层
压缩一个文件的时候设置密码
  1. "C:\Program Files\WinRAR\WinRAR.exe" a -pBatHome -ibck 1.zip 1.txt
复制代码
发表于 昨天 08:10 | 显示全部楼层
运行了大半个小时了才压缩了300个目录

有一个优化思路是 start 7z.exe 开多个进程并行处理。
注意根据电脑硬件配置在脚本里面控制一下并发数量,太高了容易死机。
 楼主| 发表于 昨天 09:45 | 显示全部楼层
ShowCode 发表于 2026-8-6 08:05
压缩一个文件的时候设置密码

你这个是调用 WinRAR.exe 而我写的是命令行工具,WinRAR 的命令行是 Rar.exe
7-Zip 的命令行是 7z.exe 写脚本的时候调用命令行好点.打包一个命令行文件 就可以写脚本了,,
可以在PE系统下执行也不用在乎什么注册不注册的,,,
发表于 昨天 10:41 | 显示全部楼层
rar.exe 支持加密压缩的:
C:\Program Files\WinRAR>rar.exe a -hpABC123 c:\tmp\test.rar zip*.*
 楼主| 发表于 昨天 11:50 | 显示全部楼层
hnfeng 发表于 2026-8-6 10:41
rar.exe 支持加密压缩的:
C:\Program Files\WinRAR>rar.exe a -hpABC123 c:\tmp\test.rar zip*.*
...

WINRAR 没怎么研究,我偏爱使用 7-zip ,,免费,极限压缩,界面简单,
发表于 昨天 13:01 | 显示全部楼层
jiavip 发表于 2026-8-6 09:45
你这个是调用 WinRAR.exe 而我写的是命令行工具,WinRAR 的命令行是 Rar.exe
7-Zip 的命令行是 7z.exe 写 ...

WinRAR.exe
Rar.exe
WinRAR这个软件有两个命令行工具,很多人只知道一个,不知道另一个。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-8-7 05:06

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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