Conseguir que um script seja executado usando o comprimento do arquivo no Windows 7?

Conseguir que um script seja executado usando o comprimento do arquivo no Windows 7?

Eu preciso de um script para ser executado sempre que um arquivo for muito longo (renomeie o arquivo. Digamos que um arquivo rcv seja colocado em uma pasta e seja nomeado 123456789.rcv. Mas o programa que usamos para pegá-lo não aceitará porque o nome é muito longo. Então, criei um script para renomear o arquivo excluindo 2 números, mas só preciso que o script seja executado quando tiver mais de 7 dígitos. Como a instrução IF é escrita para isso, se houver uma aqui? tem até agora.

@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
)

Responder1

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

será truese oldNametiver mais de 7 caracteres.

Claro, isso testa todo o 123456789.rcvnome do arquivo. Como você realmente parece se referir apenas à parte do nome do arquivo sem extensão, você pode test %%~na, que estará 123456789neste exemplo.

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

(ou apenas teste para um comprimento de 11)

informação relacionada