Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: Dany3j en 1 Abril 2012, 17:17 PM

Título: [BATCH] Imprimir variables desde un .txt
Publicado por: Dany3j en 1 Abril 2012, 17:17 PM
Hola, como les va.

Tengo una pequeña duda para imprimir unas variables.

Tengo un .txt con lo siguiente.

Citar%windir%
%appdata%
%time%
%date%

Entonces utilizo un for para leer el .txt e imprimirlo en pantalla, pero me imprime el texto leido %time% y no la fecha del sistema.

Alguna solución.  :huh:


Título: Re: [BATCH] Imprimir variables desde un .txt
Publicado por: Eleкtro en 1 Abril 2012, 23:52 PM
Prueba así:

Código (dos) [Seleccionar]
@Echo OFF
For /F "Tokens=*" %%# in (archivo.txt) do (Call :Command %%#)
Pause
Exit

:Command
echo %*
Goto :EOF



Salu2.
Título: Re: [BATCH] Imprimir variables desde un .txt
Publicado por: Dany3j en 3 Abril 2012, 17:48 PM
Gracias Pitoloko a funcionado correctamente.

Me puedes explicar porque no se puedo de la manera que yo lo hice.  :huh:

Luego de explicar podes dar por solucionado.
Título: Re: [BATCH] Imprimir variables desde un .txt
Publicado por: Eleкtro en 4 Abril 2012, 07:19 AM
Cita de: TheTroyanDark en  3 Abril 2012, 17:48 PM
Me puedes explicar porque no se puedo de la manera que yo lo hice.  :huh:

Luego de explicar podes dar por solucionado.

Sinceramente es una peculiaridad bastante rara que nunca antes habia visto, Nunca me habia encontrado con el problema que tenías respecto a las variables, Pero sin duda alguna está relacionada con la expansión de las variables.
Supongo que de algún modo, Al setear el string "%windir%" dentro de la variable del FOR, Necesitas expandirla.

Si las variables en Archivo.txt fueran así:
!windir!
!appdata!
!homedrive!
etc...


Esto te serviría:
Código (dos) [Seleccionar]
@Echo OFF
setlocal enabledelayedexpansion
For /F "Tokens=*" %%# in (archivo.txt) do (echo %%#)
Pause
Exit


Salu2.
Título: Re: [BATCH] Imprimir variables desde un .txt
Publicado por: Dany3j en 4 Abril 2012, 22:32 PM
A ok entonces podes cerrar el tema maestro.  ;)

Salu2