728x90
반응형
특정 디렉터리에 있는 파일명 일부 한번에 바꾸는 방법
- 하단에 작성한 코드를 .bat 파일로 저장
- 파일명을 바꿀 파일들과 저장한 .bat 파일을 같은 폴더내에 위치
- .bat 파일 실행
윈도우 CMD에서 특정 디렉터리에 있는 파일명에서 '-' 문자를 '_'로 바꾸는 작업을 수행
@echo off
setlocal enabledelayedexpansion
cd /d "%~dp0"
for %%F in (*) do (
set "filename=%%~nF"
set "newname=!filename:-=_!"
ren "%%F" "!newname!%%~xF"
)
echo Done
- @echo off: 이 명령어는 스크립트를 실행할 때 화면에 명령어를 출력하지 않도록 합니다.
- setlocal enabledelayedexpansion: 이 명령어는 지역화된 변수 확장을 사용하도록 설정합니다. 이것은 나중에 사용될 변수를 확장하는 데 필요합니다.
- cd /d "%~dp0": 이 명령어는 스크립트 파일이 위치한 디렉터리로 이동합니다.
%~dp0는 현재 실행 중인 스크립트 파일의 디렉터리 경로를 나타냅니다. - for %%F in (*) do ...: 이 부분은 현재 디렉터리의 모든 파일에 대해 반복 작업을 수행합니다. 각 파일에 대해 아래의 내용이 실행됩니다.
- set "filename=%%~nF": 파일명을 가져와서 filename 변수에 저장합니다.
%%~nF는 파일의 확장자를 제외한 파일명을 나타냅니다. - set "newname=!filename:-=_!": 파일명에서 '-' 문자를 ''로 대체한 새로운 파일명을 만듭니다.
이 때 !filename:-=_!는 filename 변수의 값을 가져와서 '-'를 ''로 대체한 것을 의미합니다. - ren "%%F" "!newname!%%~xF": ren 명령어를 사용하여 현재 파일명을 새로운 파일명으로 변경합니다. %%~xF는 파일의 확장자를 나타냅니다.
- set "filename=%%~nF": 파일명을 가져와서 filename 변수에 저장합니다.
- echo Done: 모든 파일에 대한 작업이 완료되었음을 알리는 메시지를 출력합니다.
이렇게하면 스크립트는 실행되고 해당 디렉터리의 파일명에서 '-' 문자를 '_'로 대체합니다.
728x90
반응형