Hydraxan14
Код выхода
То же, что и ответ Акселя, но (поскольку вы упомянули bash), вот код bash, с которого можно начать:
#!/bin/bash EXIT=1 while [ ! $EXIT -eq 0 ] do # 7-zip stuff EXIT=$? done
Когда большинство программ завершают работу без ошибок, они устанавливают код выхода на 0
.
Тестирование на ненулевой код завершения часто является хорошим способом определить, когда программа каким-то образом потерпела неудачу.
Axel Kemper
Всякий раз, когда вы вводите неправильный пароль, вы 7z
получите ненулевое значение ERRORLEVEL
для вызывающей оболочки.
Это можно использовать для запуска повторной попытки следующим образом в .cmd
скрипте:
:again :: -y allows overwrite of existing file 7z.exe e -y xxx.zip "xxx.txt" if errorlevel 1 goto try_again echo. got it! goto xit :try_again echo. sorry! Try again ... goto again :xit
Примечание
. Автономная версия 7za
присутствует не во всех установках .