#TIL #unix #windows zip으로 하위 폴더별 압축
batch script
C:\> for /d %X in (*) do "c:\Program Files\7-Zip\7z.exe" a "%X.zip" "%X\"
batch script 파일 안에서는 %%X
변수를 정의해야 하고 커맨드 라인에서는 %X
변수를 정의해야 한다. /d 옵션은 디렉터리 순회.
bash script
$ for i in */; do zip -r "${i%/}.zip" "$i"; done
*/
range를 사용해 자식 디렉터리만 순회한다. 그래서 ${i%/}
expansion을 사용해 마지막에 붙은 /
문자를 제거한다.