서기록

2023-07-23 일요일 / seogilang

 윈도우 환경에서 파일 이름을 일괄로 변경하는 방법은 크게 3가지가 있다.

 첫 번째는 윈도우 탐색기에서 이름을 변경하고자 하는 파일을 모두 선택하고 변경하는 것이고, 두 번째는 cmd 환경에서 명령어를 통해 변경하는 것 그리고 세 번째는 배치파일을 만들어서 변경하는 것이다.

 첫 번째 방법은 간단하고 빠르게 파일 이름을 일괄 변경할 수 있다는 장점이 있으며, 두 번째 방법은 특정 조건의 파일을 찾아서 일괄 변경할 수 있는 장점, 세 번째 방법은 작성하는 배치파일의 내용에 따라 여러 가지 다양하고 복잡한 조건을 반영하여 파일 이름을 일괄로 변경하는 것이 가능하다.

 

프로그램 없이 파일 이름 일괄 변경하기

1. 탐색기에서 일괄 변경.

 탐색기에서 이름을 변경하고자 하는 파일을 모두 선택한 뒤 키보드의 [F2] 키를 누르고 이름을 변경하면 된다.

 파일 이름은 중복으로 존재할 수 없기 때문에 변경된 이름 뒤에 (1)과 같은 숫자가 자동으로 붙으며, 숫자의 순서는 파일의 작성 날짜 기준으로 붙는다.

탐색기 파일 화면

 

2. cmd 명령어로 일괄 변경.

 명령어의 입력을 위해 cmd를 실행하자.

 cmd는 시작에서 cmd를 검색한 뒤 실행하면 된다.

시작 메뉴 cmd 검색 화면

 

 cmd 창이 나타나면 ren 명령어를 사용하여 파일 이름을 일괄 변경하면 된다.

 ren 명령어는 [*, ?]등과 같은 와일드카드를 사용하면 여러 대상을 지정하여 일괄로 파일 이름을 변경할 수 있으며 단순히 파일의 이름을 변경하는 기능 외에도 원본 이름에 내용을 추가하거나 원하는 길이만큼 파일 이름을 줄이는 등의 변경이 가능하다.

– 기본 사용

 ren “대상 파일 이름” “변경 파일 이름”

 ren “seogilang.txt” “seogilog.txt”

 ren “*.docx” “*.txt”

 

– 파일 이름 추가(예 a.txt -> a_test.txt)

 ren “*.txt” “*_test.txt”

 

– 파일 이름 줄이기(?를 문자 수 만큼)

 ren “*.txt” “????.txt”

 

– 대상 파일에 하위 폴더 파일 포함

 for /r %x in (“대상 파일 이름”) do ren “%x” “변경 파일 이름”

 for /r %x in (“*.docx”) do ren “%x” “*.txt”

 

3. 배치 파일로 일괄 변경.

 배치 파일은 스크립트의 내용에 따라서 다양한 조건으로 대상 파일을 찾거나 변경할 이름을 정의할 수 있다.

 여기서는 폴더의 모든 파일 혹은 특정 조건에 따라 대상 파일을 찾아 일괄로 파일 이름으로 변경하고 뒤에 숫자를 붙이는 간단한 배치 스크립트를 만들어 봤다.

 아래의 스크립트를 참고하여 굵게 표시된 부분을 사용자의 입맛에 맞게 변경하고 배치 파일을 만들어 실행하면 된다.

@echo off
setlocal enabledelayedexpansion

set num=1 : 파일 뒤에 붙는 시작 숫자
for %%f in (*.txt) do ( : 대상 파일 설정
    set "name=seogilog!num!.txt" : 변경 파일 이름 설정(!num!은 숫자 변수)
    ren "%%f" "!name!"
    set /a num+=1 : 늘어날 숫자 +=2를 하면 1, 3, 5와 같이 숫자가 붙는다.
)
endlocal

 

그 외 내용

이름 변경 시 주의할 점.

 탐색기 상에서 이름을 변경하는 경우에는 [Ctrl + Z]를 눌러 되돌리는 것이 가능하지만 명령어나 배치 파일의 경우 변경한 파일 이름을 되돌리는 것은 불가능하다.

 때문에 명령어나 배치 파일을 실행하는 경우에는 이름을 변경할 파일이 대상에 맞는지 신중하게 결정하는 것이 좋으며 중요한 파일이라면 백업 후 진행하는 것을 추천한다.

 

상황에 따라서는 그냥 프로그램을 사용하자.

 평소 파일 이름을 일괄로 변경하는 경우가 많다면 자신의 상황에 맞게 배치 파일 스크립트를 만들어 사용하면 가장 좋겠지만 그냥 속 편하게 이름 변경 프로그램을 사용하는 것이 더 나을 수도 있다.