• Sábado 21 de Diciembre de 2024, 10:55

Autor Tema:  Leer nombre de archivo con BAT  (Leído 4515 veces)

norkru

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Leer nombre de archivo con BAT
« en: Martes 29 de Septiembre de 2009, 21:58 »
0
Hola, como estas? les cuento mi problema tengo un BAT que fnciona de la siguiente manera:

Código: Text
  1. for %%a in (C:ICRDATA?_*_*_*.txt) do (
  2. for /f "tokens=1,2 delims=_" %%b in ("%%a") do (
  3. for /f "tokens=* delims=0" %%d in ("%%c") do (call :comando %%a %%b %%d)
  4. )
  5. )
  6. goto :eof
  7.  
  8. :comando
  9. set n0=%~1
  10. set n1=%~nx2
  11. set n2=%~3
  12. set n3=%~n1
  13.  
  14.  

Con ese codigo, yo leo cada  nombre de txt del directorio, ejemplo: 1_00026_081122_081130.txt
luego con la variable set n1=%~nx2 extraigo 1 (1_00026_081122_081130.txt)
Con la variable set n2=%~3 extraigo el 26 (1_00026_081122_081130.txt)
Con al variable set n3=%~n1 extraigo el 1_00026_081122_081130.txt

Esta ultima variable es la que necesito modificar, para que ya no me cuente los 13 caracteres si no que me cuento doto lo que alla desde el segundo "_" hasta el .txt (sin incluir este) y sin importar la catidad y tipo de caracteres, me entienden?
Ejemplo: 00026_081122_081130.txt ó 00026_081122_081130PRUEBA.txt
El tema es que yo no se utilizar los tokens, anteriormente me ayudaron ustedes con este problema.
Gracias.