Windows 7에서 파일 길이를 사용하여 스크립트를 실행하시겠습니까?

Windows 7에서 파일 길이를 사용하여 스크립트를 실행하시겠습니까?

파일이 길어질 때마다 실행할 스크립트가 필요합니다(파일 이름을 바꿉니다. rcv 파일이 폴더에 저장되고 이름이 123456789.rcv라고 가정해 보겠습니다. 하지만 이를 가져오는 데 사용하는 프로그램은 이름이 다음과 같기 때문에 해당 파일을 가져오지 않습니다. 그래서 2개의 숫자를 삭제하여 파일 이름을 바꾸는 스크립트를 만들었습니다. 하지만 길이가 7자리를 초과하는 경우에만 스크립트가 필요합니다. 여기에 IF 문이 어떻게 작성되어 있습니까? 지금까지 가지고 있습니다.

@echo off
setlocal enabledelayedexpansion
for %%a in (*.rcv) do (
set oldname=%%a

rem     GRABS FIRST 5 Characters of file name
set first=!oldName:~0,5!

rem     GRABS all but first 7 characters of file name
set newName=!oldName:~7!

rem     ADDS two stings together to create new file name
Set newName2=!first!!newName!

rem     RENAMES old file name to new file name
Ren "!oldName!" "!newName2!"

timeout /t 10
quite
)

답변1

if not "!oldName:~7!"=="" ()

길이가 7자를 넘으면 true됩니다 .oldName

물론 이는 전체 123456789.rcv파일 이름을 테스트합니다. 실제로는 확장자 없이 파일명 부분만 참조하는 것 같으니, 이번 예시에서는 테스트 %%~na해 볼 수 있겠네요 .123456789

SET FN=%%~na
if not "!FN:~7!"=="" ()

(또는 길이가 11인지 테스트해 보세요.)

관련 정보