Ms-Dos - intercambiar valores entre dos variables

 
Vista:
Imágen de perfil de juntacadaveres
Val: 8
Ha aumentado su posición en 2 puestos en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

intercambiar valores entre dos variables

Publicado por juntacadaveres (5 intervenciones) el 21/04/2019 12:20:58
Hola
he logrado intercambiar los valores entre dos variables en batch
ejemplo
num1=7
num2=5
intercambio
num1=5
num2=7

1
2
3
4
5
6
REM PERMUTAS LAS VARIBLES NUM. SI EL PRIMER NUMERO ES MAYOR CAMBIARLO A LA VARIABLE NUM2
IF "%NUM1%" GTR "%NUM2%" (
    SET NUM1=%NUM2%
    SET NUM2=%NUM1%
)
    ECHO NUM1=%NUM1% NUM2=%NUM2%

pero no entiendo por qué funciona el código

si num1=%num2%
y luego hago
num2=%num1% >>>>>>>>>> pero %num1% era %num2%
entonces num2 = %num2%

no entiendo por qué esto funciona
aunque haga lo que yo quería que hiciese
no debería funcionar...
saludos



==================================
Creacion de usuarios automatizado
==================================

Nombre de usuario > LUIS
Primer Numero > 7
Segundo Numero > 5
NOMBRE=LUIS NUM1=7 NUM2=5
INTERCAMBIO DE VARIABLES:
NOMBRE=LUIS NUM1=5 NUM2=7
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de juntacadaveres
Val: 8
Ha aumentado su posición en 2 puestos en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

intercambiar valores entre dos variables

Publicado por juntacadaveres (5 intervenciones) el 21/04/2019 12:38:00
Hola
la cuestión estaba en los paréntesis
que toma como una sola línea todo lo que hay dentro de él.
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de juntacadaveres
Val: 8
Ha aumentado su posición en 2 puestos en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

intercambiar valores entre dos variables

Publicado por juntacadaveres (5 intervenciones) el 21/04/2019 13:51:07
Hola al parecer todo funcionaba
hasta que meto como primer número un [10-19]
y como segundo numero uno menor a estos

MFZgKRn

ND1ugkJ

No sé cómo arreglar esto

numero 1: 10
numero 2: 5
se supone que numero 10 es mayor que 5
pero el batch no lo detecta. ayuda por favor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de juntacadaveres
Val: 8
Ha aumentado su posición en 2 puestos en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

intercambiar valores entre dos variables

Publicado por juntacadaveres (5 intervenciones) el 21/04/2019 14:06:22
Con este script que hice aparte si me funciono

1
2
3
4
5
6
7
8
9
10
11
12
13
@ECHO OFF
SET NUM1=
SET NUM2=
SET /P NUM1="DAME UN NUMERO> "
SET /P NUM2="DAME OTRO NUMERO> "
IF %NUM1% GTR %NUM2% (
    ECHO EL NUMERO %NUM1% ES MAYOR QUE %NUM2%
    SET NUM1=%NUM2%
    SET NUM2=%NUM1%
)
ECHO NUMERO1= %NUM1%
ECHO NUMERO2= %NUM2%
PAUSE>NUL

Lo que estropeaba el script eran las comillas  
"%NUM1%" GTR "%NUM2%"
alguien me puede decir por qué?
mi profesor siempre usa comillas en las variables...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar