파일 이름이 18 자보다 작은 경우 파일 이름에 앞에 0이 붙는 스크립트가 있습니다. 예를 들어일괄 처리 스크립트를 사용하여 파일 이름 바꾸기
파일 이름은 다음이 0000000000
로 이름을 변경해야하고 123456789
경우, 다음이 00000000
하게, 1234567
경우. 내 코드는 이미 내 요구 사항은 파일 이름이 1234567-1
경우, 다음 이름이 1234567-a
인 경우가 0000000000_Type_1
하고, 다음은 0000000000_Type_a
로 이름을 변경해야해야한다는 것입니다
이제이 기능을하고있다.
이것은 내 스크립트가 수행하는 작업을 계속해야 함을 의미하지만 파일 이름에 접미사 _Type_<last character>
을 추가해야합니다. 파일 이름은 1234567
또는 123456789
또는 1234567-1
또는 12345678-b
일 수 있으며 그 밖의 문자는 가능하지만 하이픈 (-) 앞에 항상 문자는 포함되지 않습니다. 한 폴더에 여러 개의 파일이있을 수 있습니다. 하이픈 (-)은 밑줄 (_) 다음에 Type_
과 파일 이름의 마지막 문자로 대체해야합니다. 나는 다음과 같은 약간 수정 된 코드는, 당신이 찾고있는 무엇을해야한다고 생각
@echo off
setlocal enableextensions enabledelayedexpansion
rem iterate over tif files:
for %%f in (C:\Task\Drop_Files\*.tif) do (
rem store file name without extension
set FileName=%%~nf
rem Add leading zeroes:
set FileName=00000000000000000!FileName!
set FileName=!FileName:~-18!
set FileName=!FileName!%%~xf
rem Rename the file
rename "%%f" "!FileName!"
)
원본 파일 이름이 0000000000012783_1이면 코드에서 파일 이름을 0000000000012783_1_Type_0000000012783_1로 생성합니다. 0000000000012783_Type_1이어야합니다. 무엇을해야할지 조언 해 주시겠습니까? – shuru
죄송합니다. 'Suffix'에 대한 지연 확장을 한 번 적용하지 못했습니다. 내 [편집] (http://stackoverflow.com/revisions/39150386/2)를 참조하십시오 ... – aschipfl
... 작동했습니다 ....thanks – shuru