Как запустить скрипт, используя длину файла в Windows 7?

Как запустить скрипт, используя длину файла в Windows 7?

Мне нужен скрипт, который будет запускаться всякий раз, когда файл слишком длинный (переименовать файл. Допустим, файл rcv помещен в папку и назван 123456789.rcv. Но программа, которую мы используем для его извлечения, не примет его, потому что имя слишком длинное. Поэтому я создал скрипт для переименования файла путем удаления двух цифр. Но мне нужно, чтобы скрипт запускался только тогда, когда его длина превышает 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!"=="" ()

будет true, если oldNameдлина превышает 7 символов.

Конечно, это проверяет все 123456789.rcvимя файла. Поскольку вы на самом деле ссылаетесь только на часть имени файла без расширения, вы можете проверить %%~na, что будет 123456789в этом примере.

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

(или просто проверьте длину 11)

Связанный контент