질문과 답변
소프트웨어 다수의 압축 파일의 무결성 검사를 일괄로 검사하는 유틸이 있나요?
2018.02.01 18:43
압축 파일이 한 100개 있다치면 일일이 열어봐야 알 수 있는데요.
파일의 이상유무를 한번에 검사할 수 있는 유틸이 있을까요?
고수님들 가르침을 부탁드려요.
유틸은 모르겠고,
저는 winrar와 배치파일을 이용합니다.
winrar를 쓰신다면, 아래 배치파일이 사용가능할겁니다.
(7z.exe 버전으로도 가능할겁니다만, 7z쪽은 옵션을 잘 모르겠네요.)
--------------------------------------------------------------
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
:: 경로 설정(아래와 같이 사용가능)
set "dstPath=.\"
rem set "dstPath=c:\abcd efgh\"
rem set "dstPath=c:\"
:: 압축파일 확장자 설정(한번에 한종류씩 검사가능)
set "dstExt=rar zip 7z"
set basePath=%ProgramFiles%
set basePath=%ProgramFiles(x86)%
set zip_excuteWin="%basePath%\WinRAR\winrar.exe"
for %%a in (%dstExt%) do (
echo %%a 시작
%zip_excuteWin% t -p- -r "%dstPath%*.%%a"
echo %%a 끝
)
pause
--------------------------------------------------------------
위에서 고쳐야할 부분은
dstPath 에서, cmd 파일과 같은경로에 압축파일이 몰려 있으면 그대로 쓰시면 됩니다.
basePath 에서, winrar가 x86경로에 있으면 그대로 쓰시고,
x64(일반경로)에 있으면
set basePath=%ProgramFiles(x86)% <- 이거 지우고 쓰시면 됩니다.
(혹은 32비트 윈도우 쓰시면 역시 x86경로를 지우고 쓰셔야합니다.)
참고로 명령부분에 있는 옵션을 설명하면,
t : 압축파일 테스트(무결성 검사)
-p- : 암호 안묻고 통과
-r : 하위폴더 검색
참고로 위에 보다시피 3가지 확장자를 검사하는데,
오류가 아무것도 안나면 rar zip 7z 순으로 한번에 다 검사하고 종료됩니다.
문제는 zip에서 오류가 났다면, rar zip 까지만 검사되고 7z은 대기합니다.(winrar 버전에 따라 다른지는 모르겠네요.)
오류가 났다고 해서 아예 다음 진행을 못하는건 아니고
오류가 난 내역을 윈라 자체적으로 윈도우창으로 보여주는데 그거 확인하거나 내용 복사하고 난 다음 닫아주면
다음 남은 7z 검사로 넘어갑니다.
단지 한번에 쭉 못하는 아쉬움이 있다는거죠.(사실 한번에 하는거 가능은 한데, 제 원래 소스는 시간측정도 있어서리...)
위 사항을 확인하시고 필요에 따라 고쳐쓰시면 됩니다.