7zip을 사용하여 여러 폴더에 있는 여러 zip을 추출합니다.

7zip을 사용하여 여러 폴더에 있는 여러 zip을 추출합니다.

큰 폴더 트리가 있습니다. A, B, C 등으로 Z까지 명명된 폴더가 있다고 가정해 보겠습니다. 각 폴더 안에는 여러 개의 zip 파일이 있습니다.

폴더의 모든 zip을 선택하고 마우스 오른쪽 버튼을 클릭한 다음 7zip을 선택하고 "*"로 추출을 선택하면 완벽하게 작동합니다. 예를 들어 폴더 A에 있는 zip 파일을 사용하여 이 작업을 수행하면 A에는 해당 zip 파일의 내용이 포함된 각 zip 파일에 대한 폴더가 포함됩니다.

내가 원하는 것은 모든 폴더(AZ)에 있는 모든 zip 파일을 검색하고 이 작업을 한 번에 수행하여 각 폴더(AZ)가 포함된 모든 zip 파일에 대한 폴더로 끝나는 것입니다.

실제로 일어나는 일은 7zip이 모든 것을 첫 번째 폴더(예: A)에 추출한다는 것입니다.

누구든지 이 작업을 수행하는 방법을 알고 있습니까?

답변1

Windows 명령줄을 사용할 수 있습니다. Windows 로고를 누르고 를 입력한 후 cmd을 누르세요 ENTER. 그런 다음 및 를 입력하여 zip 파일이 있는 하위 디렉터리가 포함된 디렉터리로 이동합니다. cd c:\my\example\dir다른 ENTER드라이브에 있는 경우 예를 들어 i:및 다시 입력하여 ENTER해당 드라이브로 전환합니다. 이제 커서 앞에 올바른 경로가 표시됩니다. 그런 다음 입력

for /F "usebackq" %f in (`dir /b/a:d`) do @echo %f

그리고 ENTER. dir /b/a:d디렉터리당 하나의 행을 반환합니다. 이러한 각 행에 대해 뒤에 있는 명령이 do실행됩니다. @echo %f은 검색된 이름을 화면에 간단히 기록하므로 를 제거한 경우 실행될 내용을 안전하게 제어할 수 있습니다 @echo. 귀하의 경우에는 다음과 같은 것이 필요합니다

for /F "usebackq" %f in (`dir /b/a:d`) do C:\APPS\7-Zip\7z.exe x .\%f\*.zip -o%f

각 하위 디렉터리에 대해 7zip 명령줄 실행 파일을 호출하고(시스템 경로를 조정해야 함 C:\APPS\7-Zip\) 전체 경로를 포함한 모든 zip 파일을 현재 하위 디렉터리로 추출합니다. 7zip 구문에 대한 자세한 내용은 다음에서 확인할 수 있습니다.https://www.dotnetperls.com/7-zip-examples

이 작업을 반복해서 수행하는 경우 간단한.박쥐/.cmd 파일을 위에서 언급한 Commando와 함께 사용하지만 작동하려면 %를 %%로 바꿔야 할 가능성이 높습니다.

답변2

제가 원하는 대로 작동되도록 했습니다. 올바른 명령은 다음과 같습니다:

for /F "tokens=*" %%g in ('dir /b/a:d') do "C:\Program Files\7-Zip\7z.exe" x ".\%%g\*.zip" -o"%g\*" -aos

답변3

Windows를 사용하는 경우 폴더 A, B, C & D가 있는 루트 폴더로 이동한 다음 검색 *.zip하거나 *.rarWindows 검색에서 모든 zip을 선택/강조 표시하고 7-zip을 사용하여 원하는 작업을 수행합니다. 돌고래(리눅스)에서도 잘 작동합니다.

관련 정보