[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 使用批处理winrar解压时,如何判断rar文件是否需要密码?

本帖最后由 dianli2007 于 2019-3-29 09:16 编辑

自己写了一个解压rar的批处理,大部分文件是有统一密码的,个别文件没有密码或者使用的是另一个密码,发现使用统一密码解压时,会自动跳过这些没密码或密码不正确的文件,有没有办法先判断rar文件是否需要密码,以及密码不正确,提示输入密码,还有怎么判断一个rar文件是否解压成功?

感谢大家的回复,在for循环中,%errorlevel% 用!errorlevel%!,要不然每次都是%errorlevel%==0,使用WinRAR数据结构判断是否有密码没来的及尝试,多谢提供思路。同时发现新版本的WinRAR有以下功能:(1)如果上下文菜单的“将每个归档提取到单独的文件夹”这个选项应用于 Windows 资源管理器“搜索结果”中来自不同文件夹的归档,则会在每个归档文件夹中创建包含解压缩文件的子文件夹。以前的版本将它们全部创建在右键单击归档的文件夹中。(2)在以递归方式解压缩多个归档时,可以使用新的 -ad1 参数,例如 'rar x -r -ad1 arc\*.rar'。它为归档中解压缩出来的每个文件创建一个单独的文件夹,但与现有的 -ad 参数不同,它会在每个归档文件夹中创建此类文件夹。结合密码管理,不使用批处理也能解决多个rar文件解压的工作。使用批处理的循环语句调用rar.exe似乎效率低,电脑比较卡,不知道原因。

TOP

本帖最后由 codegay 于 2019-3-29 10:32 编辑

The RAR Format
https://codedread.github.io/bitjs/docs/unrar.html

RAR 格式
https://ctf-wiki.github.io/ctf-wiki/misc/archive/rar/#_4

RAR 5.0 archive format
https://www.rarlab.com/technote.htm#enchead
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

Determine if rar file is password protected
https://stackoverflow.com/questi ... -password-protected
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

  1. 根据%errorlevel% 判断是否解压成功
复制代码
或者
  1. echo;1|rar t test.rar | findstr /i "ok"
复制代码
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

返回列表