Uso del && y || en batch

Iniciado por Stealt, 24 Abril 2013, 09:46 AM

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

Stealt

Hola, necesito comparar varias variables en una misma sentencia para una practica de sistemas operativos, el código que uso es el siguiente:


if [ %num1% equ 0 ] && [ %num2% equ 0 ] && [ %num3% equ 0 ] (
echo Todos los numeros son igual a 0
pause
exit
)


He probado cambiando 0 por una variable igual a 0, con comillas y usando ==, pero nada.

Me devuelve que no se esperaba 0 en este momento o no se esperaba && en este momento.

La profesora dice que si que funcionan los OR y AND pero no explica.
Alguien sabe como hacer que funcione ese código sin tener que anidar ifs?

Meine programmen

No puedes meter 3 condiciones de esa manera. Puedes meter una condicion como comando que sucedera si se cumple la condición, y repetirlo. Quiero decir:
if %num1% equ 0 if %num2% equ 0 if %num3% equ 0 (echo Todos los numeros son iguales a 0
pause
exit)

Espero ser de ayuda
REMEMBER! Reality is an illusion, the universe is a hologram, BUY GOLD! BYE!!


Stealt

Si, muchas gracias, hoy tras insistirle me ha dicho que no se puede...
Que windows trabaja a un nivel mas bajo que linux y tal...

Como vi que el post iba ya por 30 visitas y ninguna respuesta, di por hecho que se equivocaba y comence a anidar ifs, de momento lo llevo bien.

En serio, muchas gracias con algo tan básico :)

Eleкtro

Cita de: Stealt en 25 Abril 2013, 14:12 PMQue windows trabaja a un nivel mas bajo que linux y tal...

Que Batch séa un "retrasado" no significa que la shell de Linux séa increíblemente superior a la de Windows, Windows además de Batch también dispone el uso nativo de VisualBasicScript, Jscript, y Powershell, puedes hacer de todo. Si no me equivoco Linux solo dispone de Bash como lenguaje nativo (No lo sé seguro pero...), así que tu me dirás.

saludos!