El símbolo del sistema , también conocido como cmd.exe o cmd , es el intérprete de línea de comandos predeterminado para OS/2 , [1] eComStation , ArcaOS , Microsoft Windows ( familia Windows NT y familia Windows CE ) y ReactOS [2]. sistemas. En Windows CE .NET 4.2 , [3] Windows CE 5.0 [4] y Windows Embedded CE 6.0 [5], se lo conoce como Shell del procesador de comandos . Sus implementaciones difieren entre sistemas operativos, pero el comportamiento y el conjunto básico de comandos son consistentes. cmd.exe es la contraparte de COMMAND.COM en sistemas DOS y Windows 9x , y análogo a los shells Unix utilizados en sistemas similares a Unix . La versión inicial de cmd.exe para Windows NT fue desarrollada por Therese Stowell. [6] Windows CE 2.11 fue la primera versión integrada de Windows que admitía una consola y una versión Windows CE de cmd.exe . [7] La implementación ReactOS de cmd.exe se deriva de FreeCOM, el intérprete de línea de comandos de FreeDOS . [2]
Operación
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 funciones disponibles para los programas nativos de su propia plataforma. Por ejemplo, en OS/2 y Windows, puede utilizar canalizaciones reales en canalizaciones de comandos, lo que permite que ambos lados de la canalización se ejecuten simultáneamente. Como resultado, es posible redirigir el flujo de error estándar . ( COMMAND.COM utiliza archivos temporales y ejecuta las dos partes en serie, una tras otra).
Se pueden procesar varios comandos en una sola línea de comando usando el separador de comandos && . [8]
Cuando se utiliza 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
[9]
En el ejemplo anterior, CommandB solo se ejecutará si CommandA se completa con éxito, y la ejecución de CommandC depende de la finalización exitosa de CommandB . Para procesar comandos posteriores incluso si el comando anterior produce un error, se debe utilizar el separador de comandos & . [10] 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 8191 (2 13 -1) caracteres. En versiones anteriores, como Windows 2000 o Windows NT 4.0 , la longitud máxima de la cadena es 2047 (2 11 -1) caracteres. Este límite incluye la línea de comando, las variables de entorno individuales que heredan otros procesos y todas las expansiones de variables de entorno. [11]
Admite el uso de 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 posteriormente a través de un componente externo llamado DOSKEY ).
Agrega finalización de línea de comandos rotativa para rutas de archivos y carpetas, donde el usuario puede recorrer los resultados del prefijo usando Tab ↹y + para la dirección inversa.⇧ ShiftTab ↹
Trata el carácter de intercalación ( ^ ) como carácter de escape ; el carácter que le sigue debe tomarse literalmente. Hay caracteres especiales en cmd.exe y COMMAND.COM que están destinados a 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 literalmente.
Admite la expansión retardada de variables 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), corrigiendo modismos de DOS que hacían que el uso de estructuras de control fuera difícil y complejo. [17] Las extensiones se pueden desactivar, proporcionando 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 modificador /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. [18]
El comando Llamar permite subrutinas dentro del archivo por lotes. El comando Llamar en COMMAND.COM solo admite llamadas a archivos por lotes externos.
Las extensiones del analizador de nombres de archivos para el comando Set son comparables con el shell C. [ Se necesita más explicación ]
Una expansión del comando For admite el análisis de archivos y conjuntos arbitrarios además de los nombres de archivos.
Los nuevos comandos PushD y PopD brindan acceso a rutas de navegación similares a los botones "adelante" y "atrás" en un navegador web o Explorador de archivos .
El comando IF condicional puede realizar comparaciones que no distinguen 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. (Esto estaba disponible en DR-DOS, pero no en PC DOS o MS-DOS ).
^ "Notas sobre el uso del procesador de comandos OS/2 predeterminado (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)". Documentos de Microsoft . 30 de junio de 2006. Archivado desde el original el 31 de agosto de 2022.
^ "Shell del procesador de comandos (Windows CE 5.0)". Documentos de Microsoft . 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)". Documentos de Microsoft . 2012. Archivado desde el original el 5 de septiembre de 2022.
^ Zachary, G. Pascal (1994). ¡Espectacular! La carrera vertiginosa para crear Windows NT y la próxima generación en Microsoft . La Prensa Libre . ISBN0-02-935671-7.
^ "Comandos del procesador de comandos (Windows CE .NET 4.2)". Documentos de Microsoft . 30 de junio de 2006. Archivado desde el original el 31 de agosto de 2022.
^ "Comandos del procesador de comandos (Windows CE 5.0)". Documentos de Microsoft . 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)". Documentos de Microsoft . 5 de enero de 2012. Archivado desde el original el 6 de septiembre de 2022.
^ "Windows 2000 retrasó la expansión de variables de entorno". Windows TI profesional . Archivado desde el original el 13 de julio de 2015 . Consultado el 13 de julio de 2015 .
^ "Establecer local". Technet . Microsoft . 11 de septiembre de 2009 . Consultado el 13 de enero de 2015 .
Stanek, William R. (2008). Consultor de bolsillo del administrador de línea de comandos de Windows (2ª ed.). Prensa de Microsoft . ISBN 978-0735622623.
Enlaces externos
Wikimedia Commons tiene medios relacionados con el símbolo del sistema de Windows .
Wikilibros tiene un libro sobre el tema: Windows Batch Scripting
"Referencia de línea de comando AZ". Microsoft . 26 de abril de 2023.
"Comando". 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 comando 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 .
Comandos CMD más importantes en Windows - colorconsole.de