Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: nhaalclkiemr en 2 Abril 2007, 21:54 pm



Título: Trasladar variable %%A a %a%
Publicado por: nhaalclkiemr en 2 Abril 2007, 21:54 pm
Pues es eso, vosotros sabeis que con el FOR las varibles se almacenan en %%A y con el SET se almacenan como %a%

Pues como no domino muy bien el FOR me gustaria que alguien me ayudara para transformar la variable %%A en %a%

Para eso yo pienso que se deberia de utilizar el FOR (ya k es el uniko k reconoce %%A) y que este llame al SET para hacer algo de este estilo set %%A=%a% pero esto lo tendría que hacer desde el FOR y no creo k sea así la sintaxis, solo es para dar una idea..

Un saludo ;) ;)


Título: Re: Trasladar variable %%A a %a%
Publicado por: WHK en 3 Abril 2007, 02:25 am
intenta con
set %%A=a
si no ps
set %%A=b
shift%%A
set %b%=a

o tambien
echo %%A >temp.tmp
for /f %%i in (temp.tmp) do set %%i=a


Esque si tu dices %%A signifioca que la variable está dentro de for y para establecer %a% Debes salir del modo for o guardar la variable en un temporal para luego volver a volcar la variable a %a% y para volver a eliminar usas shift[variable]

No se si a eso te referias o es mi imaginacion XD


Título: Re: Trasladar variable %%A a %a%
Publicado por: nhaalclkiemr en 4 Abril 2007, 15:37 pm
Eso no funciona...

set %%A=a

-La variable %%A solo es reconocida dentro de un FOR

set %%A=b
shift %%A
set %b%=a


-Otro tanto de lo mismo, la variable %%A solo se reconoce dentro de un FOR...

echo %%A >temp.tmp
for /f %%i in (temp.tmp) do set %%i=a


Mas encaminado pero si te fijas a la hora de llevar la variable %%A a un archivo llamado temp.tmp no usas el FOR, por lo que la variable %%A no se reconoce porque no está dentro de un FOR...


Lo que habría que hacer es usar el FOR desde un principio, y si ya tienes una variable %%A ejecutar un comando desde el FOR que establezca %a% como %%A

Ahora una pregunta...Si usas el FOR usando por ejemplo la variable %%A, esta variable se restablece al acabar el FOR??
Eso lo pregunto por si por ejemplo uso el FOR y mas tarde vuelvo a usar el FOR en donde despues de DO uso un comando

Ejemplo:

for %%A in (grupo) do echo %%A
for %%B in (grupo) do set a=%%A

Esto funcionará?? O al usar otro FOR diferente todas las variables del tipo %%A se resablecen??

Un saludo ;) ;)


Título: Re: Trasladar variable %%A a %a%
Publicado por: nhaalclkiemr en 4 Abril 2007, 15:42 pm
Nada, ya he solucionado el problema...fue un error mio

al poner:

for /f %%A IN (archivo.tmp) DO set a=%%A

yo pensaba k %a% al usar el FOR no se guardaba como %a% para siempre, solo mientras durase el FOR, pero ya comprové que si...

Gracias de todas maneras

Un saludo ;) ;)