BAT (Batch)파일을 이용하여 특정 이름의 폴더를 제거하는 방법을 알아 보자.

 

 우선 새로운 텍스트 파일을 만든다. 그리고 확장자는 XXX.bat로 지정한다.

 

 확장자가 잘 지정되면 파일에 우클릭을 하여 속성을 눌러서 확인 했을 때, 파일 형식 : Windows 배치 파일(.bat)이라고 나타나야 한다. 

 

 만약 그렇게 나타나지 않았다면 XXX.bat.txt 인 텍스트 파일로 남아있는 상황이며, 파일 탐색기의 보기 탭에서 확장자를 표시하도록 한 뒤, 확장자를 수정한다.

 

 그 다음 아래와 같은 구문을 넣어주면 완성이다.

 

@echo on

cd C:\경로

for /f %%I in ('dir /s /b /a:d 특정이름') do rmdir /s /q %%I

 

 만약 C:\program 경로 아래에 ABC, ABCD, CBA, CAB, BCA라는 폴더 중 AB라는 글자가 포함된 폴더를 지우고 싶다면, 코드는 다음과 같이 수정해 주면 된다.

 

@echo on

cd C:\program

for /f %%I in ('dir /s /b /a:d *AB*') do rmdir /s /q %%I

 

for문의 용법은 다음과 같다

 

  • /f : dir이라는 명령어를 사용해 얻은 결과를 %%i라는 변수에 넣어주기 위한 설정
  • %%I : 검색된 문자가 저장될 변수, cmd 창에서는 %를 한개만 사용하고, 스크립트에서는 두개를 사용해야 한다.
  • ('dir /s /b /a:d *AB*') : 검색 시 명령어를 사용할 때는 '로 감싸주고, 문자열은 "로 감싸준다. /s는 하위폴더 포함. /b는 최소 포맷 사용하여 보여주기. /a:d는 "attribute : directory"를 의미한다. 즉 디렉토리 특성을 가진 것들만 보여주라는 뜻이다.
  • do rmdir /s /q %%I : rmdir은 폴더를 제거하는 명령어이며, /s는 하위 폴더까지 포함. /q는 충돌 시 묻지 않기 옵션이다. do 이하를 실행 하라는 뜻이다. %%I 변수에 저장된 문자를 바탕으로 폴더를 하나씩 제거해 주게 된다.

 

Total
Today
Yesterday