Saturday, February 03, 2007
배치 파일] 여러 파일 이름 한꺼번에 바꾸기; 파일명 일괄 변경; Batch File Rename
도스 창에서와 마찬가지로, 배치 파일 안에서도 ren 이라는 명령으로, 파일명을 변경합니다. 별표(*; 애스터리스크)와 같은 와일드 카드를 사용하여, 여러 개의 파일들을 한꺼번에 변경할 수도 있습니다.
다만, ren 명령이 직관적이지 않고 취소(Undo)도 되지 않기에, 주의가 필요합니다. 되도록 임시 파일들을 만들어 여러 번 테스트 해 보는 것이 안전합니다.
예제 배치파일: example.bat
만약 글자수가 맞지 않을 때에는
ren test*.doc "foo *.doc"
이렇게 공백을 넣어주어야 하는데, ren 명령의 버그인지 이 부분이 잘 되지 않았습니다.
참고로, 윈도우 탐색기에서 수동으로 파일명을 변경한 경우에는, Ctrl+Z 키로 취소가 가능합니다.
다만, ren 명령이 직관적이지 않고 취소(Undo)도 되지 않기에, 주의가 필요합니다. 되도록 임시 파일들을 만들어 여러 번 테스트 해 보는 것이 안전합니다.
파일명 한꺼번에 변경 예제
예제 배치파일: example.bat
@echo off
:: 파일명 한꺼번에 바꾸기
ren test*.doc fooo*.doc
:: 위의 경우, test 로 시작되는 모든 .doc 파일에서,
:: test 를 fooo 로 리네임합니다.
:: 확장자 모두 바꾸기
ren *.doc *.txt
:: .doc 확장자를 가진 파일들이, 모두 .txt 확장자로 리네임됩니다.
:: 파일명 한꺼번에 바꾸기
ren test*.doc fooo*.doc
:: 위의 경우, test 로 시작되는 모든 .doc 파일에서,
:: test 를 fooo 로 리네임합니다.
:: 확장자 모두 바꾸기
ren *.doc *.txt
:: .doc 확장자를 가진 파일들이, 모두 .txt 확장자로 리네임됩니다.
만약 글자수가 맞지 않을 때에는
ren test*.doc "foo *.doc"
이렇게 공백을 넣어주어야 하는데, ren 명령의 버그인지 이 부분이 잘 되지 않았습니다.
참고로, 윈도우 탐색기에서 수동으로 파일명을 변경한 경우에는, Ctrl+Z 키로 취소가 가능합니다.
tag: batch
배치파일 | DOS CMD BATCH .BAT
글자수는 ?를 넣으셔야 합니다
긴파일명에서는 ?를 사용해도 이상하게도 잘 안 되더군요 -_-;
다른폴더에 있는 파일 이름을 바꾸는 방법은 없나요?
예를 들어, 현재 폴더가 D:\Z 일 때
D:\X 에 있는 파일들의 이름을 변경하시려면
다음 예제와 같이 D:\X\ 를 붙여 주시면 됩니다.
ren D:\X\test*.doc fooo*.doc
다만, 뒤쪽의 fooo*.doc 에 패스명을 붙이면 에러가 나니,
앞쪽의 test*.doc 앞에만 D:\X\ 를 붙이세요.
<< Home