08.02.2022 Views

batch-file-es Windows

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Solución

De acuerdo con un set /? de CMD.exe alemán set /? , tendríamos que citar operaciones

aritméticas. Aquí hay un ejemplo.

Anterior

set /a result=2+5*4

Resultado

set /a result="2+5*4"

Por cierto, de acuerdo con un set /? CMD.exe en inglés set /? , se requieren comillas si los

operadores lógicos o de módulo están presentes en la expresión (aunque esto no es un paso

obligatorio ).

Personaje de escape inadecuado

En esta pregunta de desbordamiento de pila , el usuario txtechhelp encontró un problema con el

carácter ^ que podría causar un problema de seguridad.

Porque

anyInvaildCommand ^

Nota: ¡Asegúrate de que el caret ( ^ ) sea el último carácter! ¡Cualquier CR\LF adicional no

funcionará en absoluto!

El caret busca al siguiente personaje para escapar. Sin embargo, ya no hay más personajes

disponibles para escapar, por lo que cmd recorre infinitamente, buscando un personaje para

escapar. En este proceso de "bucle", cmd.exe consumirá la memoria de su computadora. Y poco a

poco devorando toda la memoria, llevando la computadora a las rodillas.

Este problema puede llevar a preocupaciones de seguridad más graves, ya que uno podría

ingresar el código en la computadora desbloqueada.

Soluciones

• Usar la página de códigos UTF-16 podría resolver este problema. Solo UTF-8 o ASCII

causaría el error.

• Asegúrese de que haya un CR\LF adicional en el archivo, o simplemente no use caret al final

del archivo.

Extra

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

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

Saved successfully!

Ooh no, something went wrong!