¿Hay alguna manera de pasar un OR a través de una instrucción IF?Usando un OR en una instrucción IF WinXP Batch Script
Tales como:
SET var=two
IF "%var%"=="one" OR "two" OR "three" ECHO The number is between zero and four.
¿Hay alguna manera de pasar un OR a través de una instrucción IF?Usando un OR en una instrucción IF WinXP Batch Script
Tales como:
SET var=two
IF "%var%"=="one" OR "two" OR "three" ECHO The number is between zero and four.
Nº
if "%var%"=="one" goto foo
if "%var%"=="two" goto foo
if "%var%"=="three" goto foo
goto afterfoo
:foo
echo The number is between one and three (technically incorrect, since it includes the end points and thus is not between).
:afterfoo
Si necesita un enfoque más estructurado:
if "%var%"=="one" set OneToThree=1
if "%var%"=="two" set OneToThree=1
if "%var%"=="three" set OneToThree=1
if defined OneToThree (
echo Foo
) else (
rem something
)
figured = (. Estuve jugando con eso por un tiempo tratando de engañarlo con algo aleatorio^& | pero sin suerte lol – Mechaflash
También puede usar este enfoque: para %% a in (uno dos tres) do si "% var% "==" %% a "goto foo – Aacini
Un poco tarde en el juego, pero sin embargo si esto suponiendo podría ayudar a cualquiera a tropezar con la pregunta. A mi modo de hacerlo es usando una combinación de eco hilo a findstr, de esta manera:
(echo ":one: :two: :three:" | findstr /i ":%var%:" 1>nul 2>nul) && (
echo The number is between zero and four
)
Desde findstr es un comando externo, no se recomienda usar este dentro de un bucle que puede ir a través de 1000 de iteraciones. Si ese no es el caso, esto debería resolver lo que está intentando hacer en lugar de usar múltiples ifs. Además, no hay nada especial en la elección de ":", simplemente use un delimitador que es poco probable que sea parte del valor en la variable var.
Gracias al resto de personas que apuntan a otro enlace que parece tener una pregunta similar, publicaré esta respuesta allí también, en caso de que alguien se tropiece con esa pregunta y no llegue aquí.
oops gracias por la edición joey. – Mechaflash