Batch - Operador AND?

Iniciado por DarkItachi, 18 Mayo 2008, 00:11 AM

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

DarkItachi

Que está mal aquí?
if exist %windir%\ndstool.exe AND %windir%\ndstool\arm7.bin ( goto repair )
if NOT exist %windir%\ndstool.exe AND %windir%\ndstool\arm7.bin ( goto setup )
Siempre se me redirige hacia setup y los archivos estan bien puestos!
Come to me when you have these eyes...

By more that you try it, a feather never will achieve to fly.

No_NICK

#1
... AND ??????


        los operadores logicos mas usados en batch son:
Citar

        &     - Ejecuta todos los comandos de la línea
        &&   - Ejecuta comandos secuencialmente hasta que uno fracasa
        ||     - Ejecuta comandos secuencialmente hasta que uno tiene éxito



    Salu2

DarkItachi

Entonces como lo arreglo?
Come to me when you have these eyes...

By more that you try it, a feather never will achieve to fly.

carlitos.dll

#3
Citar
if exist %windir%\ndstool.exe AND %windir%\ndstool\arm7.bin ( goto repair )
if NOT exist %windir%\ndstool.exe AND %windir%\ndstool\arm7.bin ( goto setup )


if exist "%windir%\ndstool.exe" (if exist "%windir%\ndstool\arm7.bin" (goto repair))
goto setup


::para que volver a evaluar la negación??, si la evaluación de la primera linea es verdadera, con el goto salta a otra etiqueta (y evita la de abajo). La instrucción (en caso falso, por lógica está en la linea de abajo). Lo escribi así porque en ambas evaluaciones son los mismo archivos.

::Probablemente te dirige a setup, porque la palabra AND no indica nada, entonces si le sacas el @echo off, probablemente verás que dice AND no se reconoce como un comando interno o externo...
También asegurate que después de cada goto saltes a otra linea, si lo necesitas, porque sino continuará hasta abajo.

mipinguino

puedes utilizar if:
Código (dos) [Seleccionar]

if condicion1 if condicion2 if condicionN (
codigo
)

Eleкtro

El operador AND está implicito, no lo puedes escribir de forma arbitraria.

Simplemente debes concatenar condicionales If como ya te ha mostrado el usuario @mipinguino, ese es el equivalente a AND.

Saludos.