배치파일을 사용한 파일 이름 변경

Posted in Programming/batch by

배치파일을 사용하여, 유사한 패턴의 파일 이름을 일괄 변경하는 방법을 소개한다. 예를 들어, 아래 그림과 같이 "XX_Basketball_YY.bat" 파일들을 "XX_RaceHorses_YY.bat" 형태로 변경한다.

 

그림1                  

 

아래는 “BasketBall”을 “RaceHorses”로 변경하는 배치파일이다. 배치파일은 “XX_Basketball_YY.bat” 파일과 동일한 폴더에 넣고 실행해야 동작한다. 코드를 살펴보면, 구분자 (‘_’)로 파일이름을 추출하여, 파일 이름에서 “XX”에 해당하는 단어는 %%a 변수에 저장, “Basketball”은 %%b 변수에 저장, “YY”는 %%c 변수에 저장한다. 이 후, REN 명령어를 사용하여 %%b에 해당하는 단어를 DSTNAME에 설정한 단어 (“RaceHorses”)로 파일 이름을 변경한다.

@echo off

SET DSTNAME="RaceHorses"
SET DELIM=_

FOR /f "tokens=1,2,3* delims=%DELIM%" %%a in ('dir /b *.bat') do (
	IF [%%b] neq [] do (
		REN %%a%DELIM%%%b%DELIM%%%c %%a%DELIM%%DSTNAME%%DELIM%%%c 
	)
)

배치파일 예제를 응용하면 쉽게 대량의 파일이름을 변경할 수 있다. 배치파일이 적용된 결과는 되살리기가 불가능 하므로, 배치파일의 사용에 주의를 기울여야 한다.

 

참고 : 파이썬을 사용한 파일 이름 일괄 변경 (http://vcodecs.com/pages/viewpage.action?pageId=11534448)