cmd.exe , también conocido como Símbolo del sistema o Procesador de comandos de Windows , es un programa de shell en versiones posteriores de Windows ( familias NT y CE ), OS/2 , [ 1 ] eComStation , ArcaOS y ReactOS . [ 2 ] En algunas versiones de Windows ( CE .NET 4.2 , [ 3 ] CE 5.0 [ 4 ] y Embedded CE 6.0 [ 5 ] ) se le conoce como Shell del procesador de comandos . La implementación difiere entre sistemas operativos, pero con una consistencia significativa en el comportamiento y los comandos disponibles.
Los sistemas operativos más antiguos y relacionados, DOS y Windows 9x , proporcionaban COMMAND.COM como intérprete de comandos. cmd.exe reemplazó a COMMAND.COM en la línea de productos Windows con la introducción de NT. Las versiones actuales de Windows incluyen PowerShell como un intérprete de comandos alternativo que se ejecuta junto con cmd.exe .
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 en admitir una consola y una versión de cmd.exe para Windows CE . [ 7 ] La implementación de cmd.exe en ReactOS deriva de FreeCOM, el intérprete de línea de comandos de FreeDOS . [ 2 ]
Usar
Integración de escritorio
En Windows, el intérprete de comandos se presenta en el escritorio a través de la Terminal de Windows o, en versiones anteriores, a través de la Consola de Windows .
Tubería simultánea
En OS/2 y Windows, el intérprete de comandos admite tuberías para permitir que ambos lados de una canalización se ejecuten simultáneamente. Como resultado, es posible redirigir el flujo de error estándar . En cambio, COMMAND.COM utiliza archivos temporales y ejecuta ambos lados en serie, uno tras otro.
Separador de comandos
Se pueden incluir varios comandos en una sola línea utilizando los separadores de comandos &, &&o ||. [ 8 ]
Con el &separador, se ejecuta un comando subsiguiente incluso si el comando anterior indica un error. [ 9 ] En el siguiente ejemplo, cada uno de los tres comandos se ejecuta, uno tras otro, e independientemente de su código de salida.
> ComandoA y ComandoB y ComandoC Con el &&separador, un comando debe tener éxito, es decir, generar el código de salida 0, para que el comando subsiguiente se ejecute. En el siguiente ejemplo, CommandBsolo se ejecuta si CommandAfinaliza correctamente, y CommandCsolo se ejecuta si CommandBtambién finaliza correctamente.
> ComandoA && ComandoB && ComandoC Con el ||separador, un comando debe fallar, es decir, generar un código de salida distinto de 0, para que el comando subsiguiente se ejecute. En el siguiente ejemplo, CommandBse ejecuta si CommandAfalla y CommandCse ejecuta si CommandBtiene éxito.
> ComandoA || ComandoB && ComandoC Límite de la línea de comandos
El intérprete de comandos limita la longitud de una línea de comandos que incluye el texto introducido, las variables de entorno individuales que heredan otros procesos y todas las expansiones de variables de entorno [ 10 ] . En Windows XP y versiones posteriores, la longitud máxima es de 8191 (2 13 -1) caracteres. En versiones anteriores, como Windows 2000 o Windows NT 4.0 , la longitud máxima es de 2047 (2 11 -1) caracteres.
Escapando de personajes especiales
El intérprete de comandos reserva los siguientes caracteres como especiales : [ 8 ]&<>[]{}^=;!'+,`~ y espacios en blanco . En algunos casos, un argumento que contiene dichos caracteres debe ir entre comillas dobles para evitar el manejo de caracteres especiales. Por ejemplo:
> echo me & you me 'you' no se reconoce como un comando interno o externo, programa ejecutable o archivo por lotes.> eco "tú y yo" "tú y yo"comandos internos
Las siguientes secciones enumeran los comandos internos para las implementaciones del intérprete de comandos en varios sistemas operativos.
Sistema operativo/2

Comandos internos en OS/2: [ 11 ]
Familia Windows NT

Comandos internos en Windows NT y versiones posteriores: [ 12 ]
Windows CE

Comandos internos en Windows CE .NET 4.2, [ 13 ] Windows CE 5.0 [ 14 ] y Windows Embedded CE 6.0: [ 15 ]
- atributo
- llamar
- cd
- chdir
- clase
- Copiar
- fecha
- del
- dir
- eco
- borrar
- salida
- ir a
- ayuda
- si
- Maryland
- mkdir
- mover
- camino
- pausa
- inmediato
- persona con discapacidad
- rd
- movimiento rápido del ojo
- ren
- rebautizar
- rmdir
- colocar
- cambio
- comenzar
- tiempo
- título
- tipo
El comando net está disponible como comando externo.
ReactOS

Comandos internos en ReactOS: [ 2 ]
- ¿
- alias
- asociado
- bip
- llamar
- cd
- chdir
- elección
- clase
- color
- Copiar
- ctty
- fecha
- del
- borrar
- demora
- dir
- directores
- eco
- ecos
- ecoerr
- ecoserr
- finlocal
- borrar
- salida
- para
- gratis
- ir a
- historia
- si
- memoria
- Maryland
- mkdir
- mklink
- mover
- camino
- pausa
- popd
- inmediato
- empujado
- rd
- rmdir
- movimiento rápido del ojo
- ren
- rebautizar
- reemplazar
- pantalla
- colocar
- establecerlocal
- cambio
- comenzar
- tiempo
- minutero
- título
- tipo
- versión
- verificar
- vol
Comparación con COMMAND.COM
En Windows, cmd.exe ofrece varias mejoras en la experiencia del usuario en comparación con COMMAND.COM , entre las que se incluyen:
- Se proporciona un informe de errores más detallado para comandos mal formados que el mensaje genérico de COMMAND.COM " Comando o nombre de archivo incorrecto ". En OS/2, los errores se informan en el idioma seleccionado del sistema, y su texto se obtiene de los archivos de mensajes del sistema. Posteriormente, se puede ejecutar el comando con el número de mensaje de error para obtener más información.
HELP - Admite el uso de las teclas de flecha para desplazarse por el historial de comandos. Con COMMAND.COM , esta funcionalidad solo estaba disponible en DR DOS (a través de HISTORY ) y posteriormente a través de un componente externo llamado DOSKEY .
- Agrega la función de autocompletado de línea de comandos rotativa para rutas de archivos y carpetas, donde el usuario puede alternar entre los resultados del prefijo usando la Tab ↹coma y el signo + para la dirección inversa.⇧ ShiftTab ↹
- El carácter de intercalación ( ^ ) se interpreta como un carácter de escape ; el carácter que le sigue debe tomarse literalmente. En cmd.exe y COMMAND.COM existen caracteres especiales que modifican el comportamiento del procesador de línea de comandos. El carácter de intercalación obliga al procesador a interpretarlos literalmente.
- Admite la expansión de variables diferida 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. [ 16 ] Las extensiones se pueden deshabilitar, lo que proporciona un modo de compatibilidad más estricto. - El comando COMMAND.COM se fusionó con el comando mediante el interruptor .
DELTREErd/S SetLocalyEndLocallos comandos limitan el alcance de los cambios en el entorno. Los cambios realizados en el entorno de la línea de comandos despuésSetLocalson locales al archivo por lotes .EndLocalrestaura la configuración anterior. [ 17 ]- El
callcomando permite el uso de subrutinas dentro de un archivo por lotes. El comando COMMAND.COM solo admite la llamada a archivos por lotes externos.CALL - Las extensiones del analizador de nombres de archivo para el
setcomando son comparables con C shell . - El
setcomando puede realizar la evaluación de expresiones . - Una ampliación del
forcomando permite analizar archivos y conjuntos arbitrarios, además de nombres de archivo. - Los nuevos
pushdcomandospopdpermiten acceder a rutas navegadas anteriores, de forma similar a los botones de avance y retroceso de un navegador web o del Explorador de archivos . - El comando condicional
ifpuede realizar comparaciones que no distinguen entre mayúsculas y minúsculas , así como comparaciones numéricas de igualdad y desigualdad, además de comparaciones de cadenas que sí distinguen entre mayúsculas y minúsculas. Esta función estaba disponible en DR-DOS, pero no en PC DOS ni en MS-DOS .
Véase también
Referencias
- ↑ " Notas sobre el uso del procesador de comandos predeterminado de OS/2 (CMD.EXE)" . www.tavi.co.uk.
- 1 2 3 "reactos/reactos" . GitHub . 4 de diciembre de 2021.
- ↑ "Command Processor Shell (Windows CE .NET 4.2)" . Microsoft Docs . 30 de junio de 2006. Archivado del original el 31 de agosto de 2022.
- ↑ "Command Processor Shell (Windows CE 5.0)" . Microsoft Docs . 14 de septiembre de 2012. Archivado del original el 28 de agosto de 2022.
- ↑ "Command Processor Shell (Windows Embedded CE 6.0)" . Microsoft Docs . 2012. Archivado del original el 5 de septiembre de 2022.
- ↑ Zachary, G. Pascal (1994). ¡Un éxito rotundo! La vertiginosa carrera por crear Windows NT y la próxima generación en Microsoft . The Free Press . ISBN 0-02-935671-7.
- ↑ Douglas McConnaughey Boling (2001). Programación de Microsoft Windows CE (2.ª ed.). Microsoft Press . ISBN 978-0735614437.
- 1 2 "cmd" . Microsoft Learn . 12 de septiembre de 2023. Archivado del original el 21 de noviembre de 2023.
- ↑ "Descripción general del intérprete de comandos" . Microsoft TechNet . Consultado el 22 de febrero de 2026 .
- ↑ Limitación de la cadena de comandos en la línea de comandos del símbolo del sistema (Cmd.exe)
- ↑ Manual de referencia del usuario del sistema operativo Microsoft/2 (PDF) . Microsoft . 1987.
- ↑ Hill, Tim (1998). Windows NT Shell Scripting . Macmillan Technical Publishing . ISBN 978-1578700479.
- ↑ "Comandos del procesador de comandos (Windows CE .NET 4.2)" . Microsoft Docs . 30 de junio de 2006. Archivado del original el 31 de agosto de 2022.
- ↑ "Comandos del procesador de comandos (Windows CE 5.0)" . Microsoft Docs . 14 de septiembre de 2012. Archivado del 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 del original el 6 de septiembre de 2022.
- ↑ "Expansión de variables de entorno retrasada en Windows 2000" . Windows IT Pro . Archivado del 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 .
Lecturas adicionales
- David Moskowitz; David Kerr (1994). OS/2 2.11 desatado (2ª ed.). Editorial Sams . ISBN 978-0672304453.
- Stanek, William R. (2008). Windows Command-Line Administrator's Pocket Consultant (2.ª ed.). Microsoft Press . ISBN 978-0735622623.
Enlaces externos
- "Zona de disponibilidad de referencia de la línea de comandos" . Microsoft . 26 de abril de 2023.
- "Cmd" . Documentación del producto Microsoft Windows XP . Microsoft . Archivado del 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 del original el 22 de abril de 2015. Consultado el 20 de abril de 2015 .
- "Índice de la A a la Z de la línea de comandos CMD de Windows" . SS64.com.
- "Windows CMD.com – Centro de comandos de Windows" . windowscmd.com. Archivado del original el 11 de enero de 2022. Consultado el 4 de enero de 2022 .
- Los comandos CMD más importantes en Windows - colorconsole.de
- Comandos de Windows
- shells de comandos
- shells de comandos de OS/2
- shells de comandos de Windows
- Comandos de OS/2
- Archivos OS/2
- Archivos de Windows
- Componentes de Windows