Programación Específica => Programación de Archivos del Sistema => Mensaje iniciado por: norkru en Martes 29 de Septiembre de 2009, 21:58
Título: Leer nombre de archivo con BAT
Publicado por: norkru en Martes 29 de Septiembre de 2009, 21:58
Hola, como estas? les cuento mi problema tengo un BAT que fnciona de la siguiente manera:
Código: Text
for %%a in (C:ICRDATA?_*_*_*.txt) do (
for /f "tokens=1,2 delims=_" %%b in ("%%a") do (
for /f "tokens=* delims=0" %%d in ("%%c") do (call :comando %%a %%b %%d)
)
)
goto :eof
:comando
set n0=%~1
set n1=%~nx2
set n2=%~3
set n3=%~n1
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.