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

[文件操作] 【已解决】WinRAR 命令行下,如何先判断解压密码是否正解,再继续

本帖最后由 thp2008 于 2022-9-15 20:39 编辑

WinRAR 命令行下 如何写一个判断密码是否正解的批处理。
  1. winrar 判断解压密码是否正解  正确下面这行  不正确 goto end
  2. for /f "delims=" %%i in ('dir /b /s *.rar') do WinRAR.exe  x -y -p%pass% -o- "%%i"   "%%~dpi"
  3. :end
复制代码
因为下面的代码里面有删除的命令,如果密码不正解,上面没有解压成功,下面就直接把压缩文件给删除了。所以我想在前面加个判断的解压密码的过程,不知能否实现。不想加个暂停,人工判断,这样麻烦,因为量大,想自动化判断,各位大神挑战一下。十分感谢!

本帖最后由 thp2008 于 2022-9-15 18:44 编辑
winrar的命令行版本对于相关命令都有返回值,建议自行查阅其手册,以避免版本不同带来的差异。
通常来说, ...
WindCat 发表于 2022-9-15 18:22


感谢指点,我用的是这个官方最新的这个商业版本64位:
  1. https://www.win-rar.com/fileadmin/winrar-versions/winrar/winrar-x64-611sc.exe
复制代码
我看了一下,说明书,参数的使用介绍都有,没有看到那里有返回值的。

我在网上搜到有返回值的意义:

返回值
~~~~~~

   RAR 成功操作后返回 0 。非 0 返回码意味着操作由于某种错误被取消:

    255   用户中断         用户中断操作

      9   创建错误         创建文件错误

      8   内存错误         没有足够的内存进行操作

      7   用户错误         命令行选项错误

      6   打开错误         打开文件错误

      5   写错误           写入磁盘错误

      4   被锁定压缩文件   试图修改先前使用 'k' 命令锁定的压缩文件

      3   CRC 错误         解压缩时发生一个 CRC 错误

      2   致命错误         发生一个致命错误

      1   警告             没有发生致命错误

      0   成功             操作成功

但没有找到,如何获得返回值的方法。

TOP

感谢二位大神的帮助,原理,懂了,测试成功。再次表示感谢!

TOP

我之前试过7z和BandZip,是通过输出Log信息到out.txt,从中判断是否密码正确,如7z解压成功的信息中 必含有 ...
fzp070 发表于 2022-9-15 23:44



    我现在用的rar,7z的我也可以研究一下,感谢提供帮助。

TOP

回复  yakeyun
不同电脑,反馈值不一样? 我这边%errorlevel% 正确也是0  错误是11
holley 发表于 2022-9-16 11:03


我测试了,11是密码错误,10是目标文件已存在。就是已经解压过一次了,再解压第二次,就会出现10。

TOP

返回列表