08.02.2022 Views

batch-file-es Windows

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

El entorno del símbolo del sistema admite valores enteros de 32 bits firmados:

• suma + y +=

• resta - y -=

• multiplicación * y *=

• división / y /=

• módulo de división % y %=

• &

• bitwise o |

• bit a bit NO ~

• XOR a nivel de bit ^

• desplazamiento a la izquierda en modo de bits <<

• desplazamiento a la derecha en modo de bits >>

• ! NO lógico !

• Menos unario -

• agrupando con ( y )

El intérprete de comandos de Windows no admite valores enteros de 64 bits o valores de coma

flotante en expresiones aritméticas.

Nota: El operador % debe escribirse en un archivo por lotes como %% para que se interprete como

operador.

En una ventana de indicador de comando que ejecuta el set /A Value=8 % 3 línea de comando set

/A Value=8 % 3 asigna el valor 2 a la variable de entorno Value y adicionalmente genera 2 .

En un archivo por lotes se debe escribir set /A Value=8 %% 3 para asignar el valor 2 a la variable de

entorno Value y no se genera nada, respectivamente, para manejar STDOUT (salida estándar).

Un set /A Value=8 % 3 líneas set /A Value=8 % 3 en un archivo por lotes daría como resultado un

mensaje de error. Falta el operador en la ejecución del archivo por lotes.

El entorno requiere el interruptor /A para operaciones aritméticas, no para variables de cadena

ordinarias.

Cada cadena en la expresión aritmética después del set /A es si un número o un operador se

interpreta automáticamente como el nombre de una variable de entorno.

Por esa razón, se hace referencia al valor de una variable con %variable% o con !variable! no es

necesario cuando el nombre de la variable consiste solo en caracteres de palabra (0-9A-Za-z_),

donde el primer carácter no es un dígito, lo que es especialmente útil dentro de un bloque de

comando que comienza con ( y termina con una coincidencia ) .

Los números se convierten de cadena a entero con la función C / C ++ strtol con base cero, lo que

significa una determinación automática de base que puede fácilmente dar resultados inesperados.

Ejemplo:

set Divided=11

set Divisor=3

https://riptutorial.com/es/home 87

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!