[BATCH] Imprimir variables desde un .txt

Iniciado por Dany3j, 1 Abril 2012, 17:17 PM

0 Miembros y 1 Visitante están viendo este tema.

Dany3j

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:


"Pensando en Batch" XD

Eleкtro

Prueba así:

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

:Command
echo %*
Goto :EOF



Salu2.








Dany3j

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.
"Pensando en Batch" XD

Eleкtro

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.








Dany3j

A ok entonces podes cerrar el tema maestro.  ;)

Salu2
"Pensando en Batch" XD