Secuencia de comandos por lotes: declaración If

La primera declaración para la toma de decisiones es la declaración "si". La forma general de esta declaración en Batch Script es la siguiente:

if(condition) do_something

El funcionamiento general de esta declaración es que primero se evalúa una condición en la declaración 'si'. Si la condición es verdadera, entonces ejecuta las declaraciones. El siguiente diagrama muestra el flujo delif declaración.

Comprobación de variables

Uno de los usos comunes de la instrucción 'if' en Batch Script es para verificar variables que están configuradas en Batch Script. La evaluación de la instrucción 'if' se puede realizar tanto para cadenas como para números.

Comprobación de variables enteras

El siguiente ejemplo muestra cómo la instrucción 'if' puede usarse para números.

Example

@echo off 
SET /A a = 5 
SET /A b = 10 
SET /A c = %a% + %b% 
if %c%==15 echo "The value of variable c is 15" 
if %c%==10 echo "The value of variable c is 10"

La clave a tener en cuenta sobre el programa anterior es:

  • La primera instrucción 'if' verifica si el valor de la variable c es 15. Si es así, entonces envía una cadena a la línea de comandos.

  • Desde la condición en la declaración - if% c% == 10 echo "El valor de la variable c es 10 se evalúa como falso, la parte de eco de la declaración no se ejecutará.

Output

El comando anterior produce la siguiente salida.

15

Comprobación de variables de cadena

El siguiente ejemplo muestra cómo se puede usar la instrucción 'if' para cadenas.

Example

@echo off 
SET str1 = String1 
SET str2 = String2 
if %str1%==String1 echo "The value of variable String1" 
if %str2%==String3 echo "The value of variable c is String3"

La clave a tener en cuenta sobre el programa anterior es:

  • La primera instrucción 'if' comprueba si el valor de la variable str1 contiene la cadena “String1”. Si es así, se hace eco de una cadena al símbolo del sistema.

  • Dado que la condición de la segunda instrucción 'if' se evalúa como falsa, la parte de eco de la instrucción no se ejecutará.

Output

El comando anterior produce la siguiente salida.

"The value of variable String1"

Note - Una cosa clave a tener en cuenta es que la evaluación en la declaración 'if' es "sensible a mayúsculas y minúsculas". El mismo programa anterior se modifica un poco como se muestra en el siguiente ejemplo. En la primera declaración, hemos cambiado los criterios de comparación Debido a la diferente carcasa, la salida del siguiente programa no arrojaría nada.

@echo off 
SET str1 = String1 
SET str2 = String2 
if %str1%==StrinG1 echo "The value of variable String1" 
if %str2%==String3 echo "The value of variable c is String3"

Comprobación de argumentos en la línea de comandos

Otro uso común de la instrucción 'if' se usa para verificar los valores de los argumentos de la línea de comando que se pasan a los archivos por lotes. El siguiente ejemplo muestra cómo la instrucción 'if' se puede usar para verificar los valores de los argumentos de la línea de comando.

Example

@echo off 
echo %1 
echo %2 
echo %3 
if %1%==1 echo "The value is 1" 
if %2%==2 echo "The value is 2" 
if %3%==3 echo "The value is 3"

La clave a tener en cuenta sobre el programa anterior es:

  • El programa anterior asume que se pasarán 3 argumentos de línea de comando cuando se ejecute el script por lotes.

  • Se realiza una comparación para cada argumento de la línea de comando con un valor. Si el criterio pasa, se envía una cadena como salida.

Output

Si el código anterior se guarda en un archivo llamado test.bat y el programa se ejecuta como

test.bat 1 2 3

Lo siguiente será el resultado del programa anterior.

1 
2 
3 
"The value is 1" 
"The value is 2" 
"The value is 3"