Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: NekoOs en 21 Febrero 2012, 02:10 am



Título: Realmente esta logica me ha confundido...
Publicado por: NekoOs en 21 Febrero 2012, 02:10 am
@echo off
mode con cols=81 lines=25

Código:
FOR %%X IN (1 2 3 4 5 6 7 8 9 A B C D E F) DO (
FOR %%# IN (1 2 3 4 5 6 7 8 9 A B C D E F) DO (echo %%X%%#)
Echo continuamos
PAUSE)

o también

Código:
FOR %%X IN (1 2 3 4 5 6 7 8 9 A B C D E F) DO (
FOR %%# IN (1 2 3 4 5 6 7 8 9 A B C D E F) DO (set var1=%%X
set var2=%%#
echo %var1%%var2%)
ECHO Continuamos
PAUSE)

tampoco funciona usando
Código:
set "var"="resultado del for"
que hago
mas que una alternativa busco es una explicación el porqué es lo que me mueve realmente
el porqué de que mi lógica no funcione no entiendo que:
Código:
uso PARA variable en (rango) hacer ( "he aquí introduzco otro for"
PARA variable 2 en (Rango 2) hacer (comando variable1variable2 "sin espacios")
<-- "esta es la parte que mas me intriga estoy cerrando el segundo for esta son las acciones del segundo for" -->
continuando con otras acciones del primer for)<-- se cierra el for inicial

no entiendo donde está el problema si este code si me funciona:

Código:
@echo off
mode con cols=81 lines=25

FOR %%X IN (1 2 3 4 5 6 7 8 9 A B C D E F) DO (
FOR %%# IN (1 2 3 4 5 6 7 8 9 A B C D E F) DO (echo %%X %%#)
PAUSE)


Título: Re: Realmente esta logica me ha confundido...
Publicado por: Eleкtro en 21 Febrero 2012, 02:52 am
Tú lógica es buena, Pero la sintaxis no xD

Si quieres setear + usar una variable dentro de un FOR, Tienes que expandirla.

Puedes leer acerca de setlocal en tutoriales.

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3.  
  4. FOR %%X IN (1 2 3 4 5 6 7 8 9 A B C D E F) DO (
  5. FOR %%# IN (1 2 3 4 5 6 7 8 9 A B C D E F) DO (
  6. set var1=%%X
  7. set var2=%%#
  8. echo !var1!!var2!
  9. )
  10. ECHO Continuamos
  11. )

Saludos