7z 파일을 일괄 추출하고 각 출력을 다른 도구의 입력으로 사용

7z 파일을 일괄 추출하고 각 출력을 다른 도구의 입력으로 사용

저는 스크립팅이 처음이라 도움을 요청하고 싶습니다. cmd.exe에 대해 실행할 배치 스크립트를 찾고 있습니다.

  1. 수백 개의 .7z 아카이브가 있는 폴더가 있습니다. 각 아카이브는 하나의 파일로 구성됩니다. 폴더에는 나중에 스크립트에서 사용되는 7-zip.exe 및 tool.exe도 포함되어 있습니다.

  2. 첫 번째 아카이브를 가져와서 7-zip을 사용하여 압축을 풀고 다음 위치에 출력합니다.온도하위 폴더.

  3. 다른 도구를 사용하여 입력 파일을 변환하십시오.온도결과 파일을 다음으로 출력합니다.처리됨하위 폴더.

  4. 문제의 도구에 대한 명령은 ---> tool.exe -i "입니다.확장자가 .abc인 입력 파일의 경로" -오 ".def 확장자를 가진 출력 파일의 경로" -f xxx -c yyy -lz -b zzzzzz <---.

  5. 다음에서 소스 파일 삭제온도폴더.

  6. 다음 .7z 아카이브로 이동합니다.

도움을 주셔서 미리 감사드립니다.

답변1

당신이 나에게 전달한 정보에 따르면 다음과 같을 것 같습니다.

@echo off

for %%a in (*.7z) do call :Extract "%%~na" "%%a"

exit

:Extract
md "%~1.tmp"
7-zip.exe x "%~2" -o"%~1.tmp\"
for /f "Delims=" %%a in ('dir /b "%~1.tmp\*.abc"') do set ABCFile=%%~na

tool.exe -i "%~1.tmp\%ABCFile.abc%" -o "%ABCFile%.def" -f xxx -c yyy -l z -b zzzzzz
rd /q /s "%~1.tmp"
goto :EOF

관련 정보