Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: Jonha000 en 9 Agosto 2010, 14:14 PM

Título: Leer archivo con nombre variable
Publicado por: Jonha000 en 9 Agosto 2010, 14:14 PM
Hola!

No encuentro la manera de realizar lo siguiente en un bat de windows:

Tengo un archivo que cambia de nombre según la versión: archivo2356, archivo2357 etc.
Quería leer el nombre de archivo, en concreto los 4 últimos caracteres para decidir si se copia o no. Pero no soy capaz, estoy desesperada!

Muchas gracias!
Título: Re: Leer archivo con nombre variable
Publicado por: EddyW en 9 Agosto 2010, 16:31 PM
Puedes listar todos los archivos que comienzan con "archivo" con For, luego haces comparaciones:
Puedes guiarte con:
Código (dos) [Seleccionar]
@Echo Off
SetLocal EnableDelayedExpansion
For /f "tokens=*" %%_ In ('Dir archivo*/B') Do (
Set Name=%%_
Echo.!Name! -^> !Name:~-4!
)
Pause


SaluDOS!!!
Título: Re: Leer archivo con nombre variable
Publicado por: Jonha000 en 10 Agosto 2010, 08:20 AM
Gracias!
Basándome en tu código lo he dejado así, ya que se me olvidó especificar que el archivo es de la forma archivo6826.zip


For /f "tokens=1 delims=." %%_ In ('Dir archivo*/B') Do (
Set Name=%%_
)
set version=!Name:~-4!
Título: Re: Leer archivo con nombre variable
Publicado por: EddyW en 10 Agosto 2010, 15:42 PM
Simplemente así: ;)
Código (dos) [Seleccionar]
For /f "tokens=1 delims=." %%_ In ('Dir archivo*.zip/B') Do (

Luego dejas todo el código tal como está ;)

SaluDOS!!!