카테고리 보관물: Superuser

superuser

7za : 잘못된 경우 비밀번호 리스크 단일 파일을 추출하려고합니다. 명령: 7za

큰 컨테이너에서 7zip으로 bash 스크립트를 통해 단일 파일을 추출하려고합니다.

명령: 7za e archive.zip singlefilename

암호가 틀리면 7zip이라는 빈 파일을 만듭니다. singlefilename 의도하지 않은 스크립트가 진행됩니다.

그들이 7za에 문제가있는 경우 암호를 다시 확인하는 스위치가 있습니까? 압축을 풀면 원활하게 작동합니다. /



답변

종료 코드

같은 악셀 의 대답,하지만 (bash에 대해 언급 한 이래로) 여기서 시작하기위한 bash 코드가 있습니다 :

#!/bin/bash
EXIT=1
while [ ! $EXIT -eq 0 ]
do
        # 7-zip stuff
        EXIT=$?
done

대부분의 프로그램이 오류없이 완료되면 이탈 코드를 0.

0이 아닌 종료 코드를 테스트하는 것은 종종 프로그램이 어떤 식 으로든 실패했을 때를 감지하는 좋은 방법입니다.


답변

잘못된 암호를 입력 할 때마다 7z 0이 아닌 값을 반환합니다. 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 존재하지 않는다. 모든 시설에서 .


답변