Foro de elhacker.net

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
  1. @Echo Off
  2. SetLocal EnableDelayedExpansion
  3. For /f "tokens=*" %%_ In ('Dir archivo*/B') Do (
  4. Set Name=%%_
  5. Echo.!Name! -^> !Name:~-4!
  6. )

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

Código:
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
  1. For /f "tokens=1 delims=." %%_ In ('Dir archivo*.zip/B') Do (

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

SaluDOS!!!