
다음과 같이 폴더 구조를 압축하려고 합니다.
Root
|_ Folder
|_Sub Folder 1
|_Files
|_Sub Folder 2
|_Files
|_ *more Sub Folders*
하위 폴더 내의 파일이 포함된 각 하위 폴더에 대해 .zip 파일을 생성해야 하며 하위 폴더에 대한 이름을 지정해야 합니다. 따라서 "폴더" 내에서 명령을 실행하면 하위 폴더의 내용만 포함된(단순히 압축된 하위 폴더가 아님) 각 하위 폴더에 대한 이름의 zip 파일을 얻게 됩니다.
Windows에서 7-zip을 사용하여 다양한 명령을 시도했지만 얻을 수 없는 것 같습니다.
for /d %i in (*) do 7z a -oC:\Temp... %i.zip
전체 폴더 내용을 압축하고 각 하위 폴더 이름에 대한 아카이브 생성을 반복합니다.
당신이 제공할 수 있는 도움에 감사드립니다!
답변1
가장 쉬운 방법은 TotalCommander를 설치하고(ghisler 사이트에서) 원하는 하위 디렉터리를 선택하는 것입니다(모두 전환하려면 숫자 키보드에서 *를 사용할 수 있음). 압축기에 대한 Alt-F5 단축키. "선택한 파일/디렉터리별로 별도의 아카이브 생성"을 선택하고 원하는 압축기를 선택한 다음 확인을 클릭합니다.
배치에서는 다음을 사용할 수 있습니다.
@echo off
for /d %%i in (*) do (
echo Compressing %%i
7z a "C:\TEMP\%%i.7z" -r "%%i\*.*"
)
또는 CMD 줄에서:
for /d %i in (*) do 7z a "C:\TEMP\%i.7z" -r "%i\*.*"
답변2
Powershell을 사용할 수도 있습니다.
Get-ChildItem -Path "C:\Root\Folder" -Force -Directory -ErrorAction Continue | foreach {Start-Process "C:\Program Files\7-Zip\7z.exe" -ArgumentList "a C:\TEMP\$_.7z -r $($_.FullName)\*.*"}