2014-06-24 1 views
-1

"Ch_XX"라는 문구를 검색하고 PDF 파일에 "Ch_XX_Pg"라는 문구를 추가하려면 배치 파일이 필요합니다.검색하고 파일 이름에 텍스트 추가

내 PDF 파일의 파일 이름이 어떻게 ...

01_Vig12345_ch01_001-020.pdf 
02_Vig12345_ch02_021-046.pdf 
03_Vig12345_ch03_047-078.pdf 

이러한 파일의 경우, 출력이되어야한다 ...

01_Vig12345_ch01_pg001-020.pdf 
02_Vig12345_ch02_pg021-046.pdf 
03_Vig12345_ch03_pg047-078.pdf 

파일 이름이 "CH"를 포함하지 않는 경우,이 "pg"가 추가되어서는 안됩니다.

답변

1
@echo off 
setlocal disableDelayedExpansion 
for %%F in (*_ch??_???-???.pdf) do (
    set "name=%%F" 
    setlocal enableDelayedExpansion 
    ren "!name!" "!name:~0,-11!pg!name:~-11!" 
    endlocal 
) 

지연 확장 파일 이름 (가능성,하지만 가능)에있을 수있는 ! 보호하기 위해 루프 내에서 오프 전환된다.

이름이 바뀐 파일은 FOR 루프의 파일 마스크와 일치 할 수 없으므로 파일 이름을 두 번 바꿀 위험이 없습니다.

그러나 새 이름이 FOR 파일 마스크와 일치 할 수있는 시나리오가 주어지면 단일 실행으로 파일의 이름이 두 번 변경 될 수 있습니다. 이 경우 FOR 루프는 DIR/B 명령을 처리하는 FOR/F로 변경되어야합니다.

관련 문제