cmd.exe interactúa con el usuario a través de una interfaz de línea de comandos . En Windows, esta interfaz se implementa a través de la consola Win32 . cmd.exe puede aprovechar las características disponibles para los programas nativos de su propia plataforma. Por ejemplo, en OS/2 y Windows, puede utilizar tuberías reales en las tuberías de comandos, lo que permite que ambos lados de la tubería se ejecuten simultáneamente. Como resultado, es posible redirigir el flujo de error estándar . ( COMMAND.COM utiliza archivos temporales y ejecuta los dos lados en serie, uno después del otro).
Se pueden procesar varios comandos en una sola línea de comando utilizando el separador de comando && . [8]
Al utilizar este separador en cmd.exe de Windows , cada comando debe completarse correctamente para que se ejecuten los siguientes comandos. Por ejemplo:
C:\> ComandoA && ComandoB && ComandoC
En el ejemplo anterior, CommandB solo se ejecutará si CommandA se completa correctamente, y la ejecución de CommandC depende de la finalización correcta de CommandB . Para procesar comandos subsiguientes incluso si el comando anterior produce un error, se debe utilizar el separador de comandos & . [9] Por ejemplo:
C:\> ComandoA y ComandoB y ComandoC
En Windows XP o posterior, la longitud máxima de la cadena que se puede utilizar en el símbolo del sistema es de 8191 (2 13 -1) caracteres. En versiones anteriores, como Windows 2000 o Windows NT 4.0 , la longitud máxima de la cadena es de 2047 (2 11 -1) caracteres. Este límite incluye la línea de comandos, las variables de entorno individuales heredadas por otros procesos y todas las expansiones de variables de entorno. [10]
En Windows, cmd.exe es mayoritariamente compatible con COMMAND.COM pero proporciona las siguientes extensiones sobre él:
Mensajes de error más detallados que el mensaje general " Nombre de archivo o comando incorrecto " (en el caso de comandos mal formados) de COMMAND.COM . En OS/2, los errores se informan en el idioma elegido por el sistema y su texto se obtiene de los archivos de mensajes del sistema. A continuación, se puede ejecutar el comando HELP con el número del mensaje de error para obtener más información.
Admite el uso de las teclas de flecha para desplazarse por el historial de comandos. (En DOS, esta función solo estaba disponible en DR DOS (a través de HISTORY ) y más tarde a través de un componente externo llamado DOSKEY ).
Trata al carácter de intercalación ( ^ ) como el carácter de escape ; el carácter que lo sigue debe interpretarse de manera literal. Existen caracteres especiales en cmd.exe y COMMAND.COM que tienen como objetivo alterar el comportamiento del procesador de línea de comandos. El carácter de intercalación obliga al procesador de línea de comandos a interpretarlos de manera literal.
Admite expansión de variables retrasada con SETLOCAL EnableDelayedExpansion, lo que permite que los valores de las variables se calculen en tiempo de ejecución en lugar de durante el análisis del script antes de la ejecución (Windows 2000 y posteriores), lo que corrige los modismos de DOS que hacían que el uso de estructuras de control fuera difícil y complejo. [16] Las extensiones se pueden deshabilitar, lo que proporciona un modo de compatibilidad más estricto.
También se han mejorado los comandos internos:
El comando DELTREE se fusionó con el comando RD , como parte de su modificación /S .
Los comandos SetLocal y EndLocal limitan el alcance de los cambios en el entorno. Los cambios realizados en el entorno de la línea de comandos después de los comandos SetLocal son locales en el archivo por lotes . El comando EndLocal restaura la configuración anterior. [17]
El comando Call permite ejecutar subrutinas dentro de un archivo por lotes. El comando Call en COMMAND.COM solo admite la ejecución de archivos por lotes externos.
El comando condicional IF puede realizar comparaciones sin distinción entre mayúsculas y minúsculas y comparaciones de igualdad y desigualdad numéricas, además de comparaciones de cadenas que distinguen entre mayúsculas y minúsculas. (Estaba disponible en DR-DOS, pero no en PC DOS o MS-DOS ).
^ "Notas sobre el uso del procesador de comandos predeterminado de OS/2 (CMD.EXE)". www.tavi.co.uk .
^ abc "reactos/reactos". GitHub . 4 de diciembre de 2021.
^ "Shell del procesador de comandos (Windows CE .NET 4.2)". Microsoft Docs . 30 de junio de 2006. Archivado desde el original el 31 de agosto de 2022.
^ "Shell del procesador de comandos (Windows CE 5.0)". Microsoft Docs . 14 de septiembre de 2012. Archivado desde el original el 28 de agosto de 2022.
^ "Shell del procesador de comandos (Windows Embedded CE 6.0)". Microsoft Docs . 2012. Archivado desde el original el 5 de septiembre de 2022.
^ Zachary, G. Pascal (1994). ¡Un espectáculo espectacular! La carrera vertiginosa para crear Windows NT y la próxima generación en Microsoft . The Free Press . ISBN0-02-935671-7.
^ Douglas McConnaughey Boling (2001). Programación de Microsoft Windows CE (2.ª edición). Microsoft Press . ISBN978-0735614437.
^ ab "cmd". Microsoft Learn . 12 de septiembre de 2023. Archivado desde el original el 21 de noviembre de 2023.
^ "Redirección de comandos, canalizaciones - Windows CMD - SS64.com". ss64.com . Consultado el 23 de septiembre de 2021 .
^ Limitación de la cadena de la línea de comandos del símbolo del sistema (Cmd.exe)
^ Referencia del usuario del sistema operativo Microsoft/2 (PDF) . Microsoft . 1987.
^ "Comandos del procesador de comandos (Windows CE .NET 4.2)". Microsoft Docs . 30 de junio de 2006. Archivado desde el original el 31 de agosto de 2022.
^ "Comandos del procesador de comandos (Windows CE 5.0)". Microsoft Docs . 14 de septiembre de 2012. Archivado desde el original el 31 de agosto de 2022.
^ "Comandos del procesador de comandos (Windows Embedded CE 6.0)". Microsoft Docs . 5 de enero de 2012. Archivado desde el original el 6 de septiembre de 2022.
^ "Expansión de variables de entorno retrasada en Windows 2000". Windows IT Pro . Archivado desde el original el 13 de julio de 2015. Consultado el 13 de julio de 2015 .
^ "Setlocal". TechNet . Microsoft . 11 de septiembre de 2009 . Consultado el 13 de enero de 2015 .
Stanek, William R. (2008). Consultor de bolsillo para administradores de línea de comandos de Windows (2.ª edición). Microsoft Press . ISBN 978-0735622623.
Enlaces externos
Wikimedia Commons tiene medios relacionados con Símbolo del sistema de Windows .
Wikilibros tiene un libro sobre el tema: Windows Batch Scripting
"Referencia de línea de comandos de la A a la Z". Microsoft . 26 de abril de 2023.
"Cmd". Documentación del producto Microsoft Windows XP . Microsoft . Archivado desde el original el 2 de septiembre de 2011 . Consultado el 24 de mayo de 2006 .
"Símbolo del sistema: preguntas frecuentes". Ayuda de Windows . Microsoft . Archivado desde el original el 22 de abril de 2015 . Consultado el 20 de abril de 2015 .
"Un índice A-Z de la línea de comandos CMD de Windows". SS64.com.
«Windows CMD.com: centro de comandos de Windows». windowscmd.com. Archivado desde el original el 11 de enero de 2022. Consultado el 4 de enero de 2022 .
Los comandos CMD más importantes en Windows - colorconsole.de