
Necesito ejecutar un script cada vez que un archivo sea demasiado largo (cambie el nombre del archivo. Digamos que un archivo rcv se coloca en una carpeta y se llama 123456789.rcv. Pero el programa que usamos para capturar esto no lo aceptará porque el nombre es demasiado largo. Así que hice un script para cambiar el nombre del archivo eliminando 2 números, pero solo necesito que el script se ejecute cuando tenga más de 7 dígitos. ¿Cómo se escribe la declaración IF para esto si hay una? tener hasta ahora.
@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
)
Respuesta1
if not "!oldName:~7!"=="" ()
será true
si oldName
tiene más de 7 caracteres.
Por supuesto, esto prueba todo el 123456789.rcv
nombre del archivo. Dado que en realidad parece que te refieres solo a la parte del nombre del archivo sin extensión, puedes probar %%~na
, que será el caso 123456789
en este ejemplo.
SET FN=%%~na
if not "!FN:~7!"=="" ()
(o simplemente pruebe con una longitud de 11)