在 Windows 批处理文件中,有没有办法检查压缩文件的 7zip 密码是否正确?
我想检查它是否成功,继续执行脚本(使用 call 或 goto 例程),如果不成功,则状态密码不正确,然后将循环返回以再次询问密码。
我知道我可以使用测试标志7z t -p%password% <path>
,但不确定如何读取结果并自动确定它是否正确。
谢谢。
在 Windows 批处理文件中,有没有办法检查压缩文件的 7zip 密码是否正确?
我想检查它是否成功,继续执行脚本(使用 call 或 goto 例程),如果不成功,则状态密码不正确,然后将循环返回以再次询问密码。
我知道我可以使用测试标志7z t -p%password% <path>
,但不确定如何读取结果并自动确定它是否正确。
谢谢。
您可以使用条件执行/运算符
&&
和||
:如果您在 Windows 10 上使用它,还可以使用一些额外的答案/代码,并利用ANSI Escape Code支持来屏蔽/隐藏密码的输入类型...
要屏蔽蝙蝠中的输入,您可以在此答案中使用@Aacini的解决方案
要删除/删除用户输入密码的已使用行,您可以在此答案中使用@LotPings的解决方案
为了从
Doskey
缓冲区/历史记录中清除键入命令行的历史记录(也删除密码),从而防止在按下键(箭头、F1、F3 等...)时出现,您可以使用@It Wasn'的解决方案t 我在这个答案中下一个代码旨在展示如何在单个文件/执行中一起使用上述答案的选项来回答您的问题。
Obs.:请记住,如果您的密码包含任何特殊字符,则可能需要转义,还要分别输入
file.7z
和的完整路径7z.exe
......%temp%\2l.bin
一些进一步的阅读:
[√]多斯基
[√]查找
[√]转到:标签
[√]转义字符
[√]条件执行 || && ...
[√] Ansi 转义码
[√] Base64 编码或解码 (MacOS/Windows/Linux)