Cmd.exe
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, eComStation. , ArcaOS, Microsoft Windows (familia Windows NT y familia Windows CE) y sistemas operativos ReactOS. En Windows CE.NET 4.2, Windows CE 5.0 y Windows Embedded CE 6.0 se le 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 Unix. -Sistemas similares. La versión inicial de cmd.exe para Windows NT fue desarrollada por Therese Stowell. Windows CE 2.11 fue la primera versión integrada de Windows que admitía una consola y una versión de Windows CE de cmd.exe. La implementación de ReactOS de cmd.exe se deriva de FreeCOM, el intérprete de línea de comandos de FreeDOS.
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 &&.
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:CommandA " CommandB " CommandC
En el ejemplo anterior, Comando B sólo se ejecutará si Comando A completa con éxito, y la ejecución de Comando C depende de la terminación exitosa Comando B. Para procesar comandos posteriores incluso si el comando anterior produce un error, el separador de comandos " debería usarse. Por ejemplo:
C:CommandA " CommandB " CommandC
En Windows XP o posterior, la longitud máxima de la cadena que se puede utilizar en el símbolo del sistema es 8191 caracteres. En versiones anteriores, como Windows 2000 o Windows NT 4.0, la longitud máxima de la cadena es de 2047 caracteres. Este límite incluye la línea de comando, variables de entorno individuales que heredan otros procesos y todas las expansiones de variables de entorno.
Se requieren comillas para los siguientes caracteres especiales:
[ ] { } ^ = ;
Comandos internos
OS/2

La siguiente es una lista de los comandos cmd.exe internos de Microsoft OS/2:
- descanso
- chcp
- cd
- chdir
- cls
- Copia
- Fecha
- del
- separado
- dir
- ♪
- eco
- borrar
- Salida
- para
- Goto
- si
- md
- mkdir
- sendero
- pausa
- pronta
- rd
- rem
- ren
- rename
- rmdir
- set
- cambio
- Empieza
- tiempo
- Tipo
- ver
- verificar
- vol
Familia Windows NT

La siguiente lista de comandos internos es compatible con cmd.exe en Windows NT y versiones posteriores:
- assoc
- descanso
- llamada
- cd
- chdir
- cls
- color
- Copia
- Fecha
- del
- dir
- ♪
- eco
- endlocal
- borrar
- Salida
- para
- ftype
- Goto
- si
- llaves
- md
- mkdir
- mklink (introducido en Windows Vista)
- movimiento
- sendero
- pausa
- Popd
- pronta
- empujado
- rd
- rem
- ren
- rename
- rmdir
- set
- setlocal
- cambio
- Empieza
- tiempo
- Título
- Tipo
- ver
- verificar
- vol
Windows CE

La siguiente lista de comandos es compatible con cmd.exe en Windows CE.NET 4.2, Windows CE 5.0 y Windows Embedded CE 6.0:
- attrib
- llamada
- cd
- chdir
- cls
- Copia
- Fecha
- del
- dir
- eco
- borrar
- Salida
- Goto
- ayuda
- si
- md
- mkdir
- movimiento
- sendero
- pausa
- pronta
- Pwd
- rd
- rem
- ren
- rename
- rmdir
- set
- cambio
- Empieza
- tiempo
- Título
- Tipo
Además, el neto comando está disponible como un comando externo almacenado en \Windows\net.exe.
ReactOS

La implementación de ReactOS incluye los siguientes comandos internos:
- ?
- alias
- assoc
- beep
- llamada
- cd
- chdir
- elección
- cls
- color
- Copia
- ctty
- Fecha
- del
- Borrar
- demora
- dir
- dirs
- eco
- ecos
- echo
- ecoserr
- endlocal
- borrar
- Salida
- para
- gratis
- Goto
- historia
- si
- memoria
- md
- mkdir
- mklink
- movimiento
- sendero
- pausa
- Popd
- pronta
- empujado
- rd
- rmdir
- rem
- ren
- rename
- reemplazar
- pantalla
- set
- setlocal
- cambio
- Empieza
- tiempo
- timer
- Título
- Tipo
- ver
- verificar
- vol
Comparación con COMMAND.COM
En Windows, cmd.exe es mayormente compatible con COMMAND.COM pero proporciona las siguientes extensiones:
- Mensajes de error más detallados que la manta "Bad command or file name" (en el caso de comandos malformed) de COMMAND.COM. En OS/2, los errores se reportan en el idioma elegido del sistema, siendo su texto tomado de los archivos del mensaje del sistema. El Ayuda comando can then be issued with the error message number to obtain further information.
- Soporta el uso de teclas de flecha para desplazarse a través de la historia del comando. (Bajo DOS esta función sólo estaba disponible bajo DR DOS (a través de HISTORIA) y posteriormente a través de un componente externo llamado DOSKEY)
- Añade la terminación giratoria de línea de comandos para las rutas de archivos y carpetas, donde el usuario puede recorrer los resultados para el prefijo utilizando el Tab ↹, y ⇧ Shift+Tab ↹ para dirección inversa.
- Trata el personaje de cuidado (^) como el personaje de escape; el personaje que sigue es ser tomado literalmente. Hay caracteres especiales en cmd.exe y COMMAND.COM (por ejemplo "c)", "■"y "la vida") que están destinadas a alterar el comportamiento del procesador de línea de comandos. El personaje cuidado obliga al procesador de línea de comandos a interpretarlos literalmente.
- Apoyo retardado la expansión variable con
SETLOCAL EnableDelayedExpansion, permitiendo que los valores de las variables se calculen a tiempo de ejecución en lugar de durante el examen del script antes de la ejecución (Windows 2000 y posterior), fijando idiomas DOS que hicieron uso de estructuras de control duro y complejo. Las extensiones pueden ser deshabilitadas, proporcionando un modo de compatibilidad más estricto.
También se han mejorado los comandos internos:
- El DELTREE comando was merged into the RD como parte de su /S Cambiar.
- SetLocal y EndLocal los comandos limitan el alcance de los cambios en el medio ambiente. Cambios realizados en el entorno de línea de comandos después SetLocal comandos son locales al archivo de lotes. EndLocal comando restaura la configuración anterior.
- El Call comando permite las subrutinas dentro del archivo de lote. El Call comando in COMMAND.COM sólo admite llamar archivos externos de lotes.
- extensiones de archivo parser a la Set comando son comparables con C shell.
- El Set comando puede realizar evaluación de expresión.
- Una expansión de la Para comando soporta el análisis de archivos y conjuntos arbitrarios además de nombres de archivos.
- El nuevo PushD y PopD comandos proporcionan acceso a caminos navegados pasados similares a los botones "para adelante" y "back" en un navegador web o File Explorer.
- El condicional IF comando puede realizar comparaciones insensibles y comparaciones numéricas de igualdad y desigualdad, además de comparaciones de cadenas sensibles a casos. (Esto estaba disponible en DR-DOS, pero no en PC DOS o MS-DOS).