명령어가 가진 한계로 문제 풀기: One-line batch script to delete empty directories 글을 보고

less than 1 minute read

:: rdempty.cmd
for /f "usebackq" %%d in (`"dir /ad/b/s | sort /R"`) do rd "%%d"

One-line batch script to delete empty directories 글에서 본 batch script. 파일이 있으면 rd 명령어가 실패한다. 이 한계를 이용한다. 역순으로 정렬해 자식 디렉터리부터 차례로 rd 명령어 인자로 넘긴다.

명령어 한계를 알고 그걸 이용해서 간단하게 문제를 푼다. 이렇게 문제를 푸는 능력은 아주 부럽다. 간지다.

$ find . -type d -depth -empty -exec rmdir "{}" \;

shell script로는 이렇게.