카카오톡 묶음사진 전체 파일 이름 바꾸기 (batch ren 명령)

카카오톡 묶음사진 전체 파일 이름 바꾸기

안녕하세요, 여러분~ 오늘은 배치파일을 이용하여 파일이름 일괄 바꾸기 기능을 소개해 드리겠습니다. 카카오톡으로 묶음사진 전체를 저장했는데, 이름을 하나하나 바꾸는 단순작업을 줄이기 위해 만들어 보았습니다.(구글 블로거는 사진이름 그대로가 저장되기 때문에 저는 정리해서 올리는 편입니다)

카카오톡 묶음사진

묶음사진은 보통 KakaoTalk_연월일_저장시간_순차.jpg 로 저장되는 것 같습니다.

파일 이름 바꾸기

해당 파일들을 순차적으로 사용자가 입력한 값 + 순차 로 하도록 진행하였습니다.
저는 이 방법으로 했는데 여러가지 접근법이 있을 것입니다. 여러분은 더 나은 방법을 궁리해 보세요~

@echo off
setlocal enabledelayedexpansion
set/a fileNum = 0
set/p fileName="Enter FileName : "
for %%f in (*.jpg) do (
  set/a fileNum += 1
  ren %%~nf%%~xf %fileName%!fileNum!%%~xf
  echo ren %%~nf%%~xf %fileName%!fileNum!%%~xf
)
pause

Batch 문장 안내

  • 1번 줄 : @echo off
    > 명령 결과만 출력합니다.
  • 2번 줄 : setlocal enabledelayedexpansion
    > for 반복문 내에서 변수할당을 선처리하지 않도록 합니다.
  • 3번 줄 : set/a fileNum = 0
    > fileNum 변수에 0 값을 할당합니다.
  • 4번 줄 : set/p fileName="Enter FileName : "
    > 사용자 입력 매개변수 fileName 을 획득합니다.
  • 5번 줄 : for %%f in (*.jpg) do (
    > 경로상의 확장자가 jpg 인 각 파일을 f 변수에 할당하여 반복문을 실행합니다.
  • 6번 줄 :   set/a fileNum += 1
    > fileNum 에 1 증가한 값을 할당합니다.
  • 7번 줄 :   ren %%~nf%%~xf %fileName%!fileNum!%%~xf
    > ren 은 이름 바꾸기(rename) 명령어입니다.
    > 파일이름(%%~nf) + 확장자(%%~xf) 파일을 fileName 변수 + fileNum 할당값 + 확장자(%%~xf) 로 변경합니다. setlocal(2번 줄) 로 선처리하지 않기에 fileNum 변수를 Exclamation mark 로 표시합니다.
  • 8번 줄 :   echo ren %%~nf%%~xf %fileName%!fileNum!%%~xf
    > echo 는 출력명령입니다. 실행과는 관계 없습니다. 분석하실 때 도움이 되길 바라며 어떤 식으로 동작하는지 표시해드리려고 추가했습니다. (7번 줄에 대한 안내입니다)
  • 9번 줄 : )
    > 5번 줄에서 시작한 for 문의 종결입니다. 열었으면 닫아야겠죠?
  • 10번 줄 : pause
    > 계속 하려면 아무 키나 누르라고 합니다. 없으면 배치파일이 자동으로 종료되어 교육상 내용을 표시해드리려고 추가했습니다.

댓글