Hack x Crack - Comunidad de Seguridad informática
Programación => Scripting => Batch / Bash => Mensaje iniciado por: Gentleman en Agosto 14, 2017, 03:27:09 am
-
Buenas. Señores/as estoy intentando realizar un programa que me ayude a administrar mis archivos de manera automatizada, en el cual requiero realizar una lista de los archivos ubicados en la carpeta en la que se encuentra el programa.
Este menú debería ser algo así, teniendo 3 archivos por ejemplo (Texto.txt, Documento.rtf, Filminas.pdf):
1) Texto.txt
2) Documento.rtf
3) Filminas.pdf
Estuve intentando generarlo con el comando "for" pero sin resultado satisfactorios, les presento lo que se me ocurrió pero reitero, sin resultados:
set /a n =0
for %%f in (*) do set /a n=%n%+1 & set opcion%n%=0 & echo %n%) %%f
Lo que me devuelve:
0) Documento.rtf
0) Filminas.pdf
0) Texto.txt
El comando "set opcion%n%=0" es algo adicional que no tiene que ver con el menú en si.
Agradezco alguna aclaración sobre el comando "FOR" o alguna otra pista para resolver este asunto.
SOLUCIÓN:
Después de complicarme un poco, indagando sobre el comando "FOR", encontré que el mismo calcula las variables al inicio de su ejecución (claramente es algo que ya sospechaba), por lo que la solución para generar mi menú fue activar la expansión de variables retardada, lo cual se logra con el comando "SETLOCAL".