less than 1 minute read

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을 사용해 마지막에 붙은 / 문자를 제거한다.

참고