COMMAND.COM
COMMAND.COM es el intérprete de línea de comandos predeterminado para MS-DOS, Windows 95, Windows 98 y Windows Me. En el caso de DOS, también es la interfaz de usuario predeterminada. Tiene una función adicional como el primer programa habitual que se ejecuta después del arranque (proceso de inicio), por lo que es responsable de configurar el sistema mediante la ejecución del archivo de configuración AUTOEXEC.BAT y es el ancestro de todos los procesos.
El sucesor de COMMAND.COM en los sistemas OS/2 y Windows NT es cmd.exe, aunque COMMAND.COM también está disponible en máquinas virtuales DOS en versiones IA-32 de esos sistemas operativos.
El nombre de archivo COMMAND.COM también fue utilizado por Disk Control Program (DCP), un derivado de MS-DOS del antiguo VEB Robotron de Alemania Oriental.
El procesador de comandos compatible con FreeDOS a veces también se denomina FreeCom.
COMMAND.COM es un programa de DOS. Los programas lanzados desde COMMAND.COM son programas de DOS que utilizan la API de DOS para comunicarse con el sistema operativo del disco.
Modos de funcionamiento
Como shell, COMMAND.COM tiene dos modos distintos de operación. El primero es el modo interactivo, en el que el usuario escribe comandos que luego se ejecutan inmediatamente. El segundo es el modo por lotes, que ejecuta una secuencia predefinida de comandos almacenados como un archivo de texto con la extensión.BAT.
Comandos internos
Los comandos internos son comandos almacenados directamente dentro del binario COMMAND.COM. Por lo tanto, siempre están disponibles, pero solo se pueden ejecutar directamente desde el intérprete de comandos.
Todos los comandos se ejecutan después de presionar la tecla ↵ Enter al final de la línea. COMMAND.COM no distingue entre mayúsculas y minúsculas, lo que significa que los comandos se pueden escribir en cualquier combinación de mayúsculas y minúsculas.
- BREAK
- Controla el manejo de la interrupción del programa con Ctrl+C o Ctrl+Break.
- CHCP
- Muestra o cambia la página de código del sistema actual.
- CHDIR, CD
- Cambia el directorio de trabajo actual o muestra el directorio actual.
- CLS
- Limpia la pantalla.
- COPY
- Copia un archivo a otro (si el archivo de destino ya existe, MS-DOS pregunta si reemplazarlo). (Véase también XCOPY, un comando externo que también podría copiar árboles de directorios).
- CTTY
- Define el dispositivo para usar para entrada y salida.
- Fecha
- Mostrar y fijar la fecha del sistema.
- DEL, ERASE
- Elimina un archivo. Cuando se utiliza en un directorio, elimina todos los archivos dentro del directorio solamente. En comparación, el comando externo DELTREE elimina todos los subdirectorios y archivos dentro de un directorio así como el propio directorio.
- DIR
- Lista los archivos en el directorio especificado.
- ECHO
- Toggles whether text is displayed (
ECHO ON
) o no (ECHO OFF
). También muestra texto en la pantalla (ECHO text
). - EXIT
- Exits from COMMAND.COM and returns to the program which launched it.
- LFNFOR
- Permite o desactiva la devolución de nombres de archivo largos por el comando FOR. (Windows 9x).
- LOADHIGH, LH
- Carga un programa en la memoria superior (
HILOAD
en DR DOS). - LOCK
- Permite a los programas externos realizar acceso de disco de bajo nivel a un volumen. (MS-DOS 7.1 y Windows 9x solamente)
- MKDIR, MD
- Crea un nuevo directorio.
- PATH
- Muestra o cambia el valor de la variable de entorno PATH que controla los lugares donde COMMAND. COM buscará archivos ejecutables.
- PROMPT
- Muestra o cambia el valor de la variable de entorno PROMPT que controla la apariencia del indicador.
- RENAME, RENAME
- Renombra un archivo o directorio.
- RMDIR, RD
- Elimina un directorio vacío.
- SET
- Establece el valor de una variable de entorno; sin argumentos, muestra todas las variables de entorno definidas.
- Hora
- Mostrar y fijar el tiempo del sistema.
- TRUENAME
- Muestra el nombre físico totalmente expandido de un archivo, resolviendo ASSIGN, JOIN y SUBST mapas lógicos del sistema de archivos.
- TYPE
- Mostrar el contenido de un archivo en la consola.
- UNLOCK
- Desactiva el acceso a disco de bajo nivel. (MS-DOS 7.1 y Windows 9x solamente)
- Muy bien.
- Muestra la versión del sistema operativo.
- Muy bien.
- Permitir o deshabilitar la verificación de la escritura para archivos.
- VOL
- Muestra información sobre un volumen.
Comandos de archivo por lotes
Las estructuras de control se usan principalmente dentro de archivos por lotes, aunque también se pueden usar de forma interactiva.
- :etiqueta
- Define un objetivo para GOTO.
- CALL
- Ejecuta otro archivo de lotes y vuelve al viejo y continúa.
- PARA
- Iteración: repite un comando para cada uno de un conjunto específico de archivos.
- GOTO
- Mueva la ejecución a una etiqueta especificada. Las etiquetas se especifican al principio de una línea, con un colon (
:likethis
). - IF
- Declaración condicional, permite ramificar la ejecución del programa.
- PAUSE
- Detiene la ejecución del programa y muestra un mensaje pidiendo al usuario que pulse cualquier clave para continuar.
- REM
- comentario: cualquier texto siguiendo este comando es ignorado.
- SHIFT
- Sustitúyase cada uno de los parámetros de sustitución por el siguiente (por ejemplo,
%0
con%1
,%1
con%2
, etc.).
Comando SI
Al salir, todos los comandos externos envían un código de retorno (un valor entre 0 y 255) al programa de llamada. La mayoría de los programas tienen una cierta convención para sus códigos de retorno (por ejemplo, 0 para una ejecución exitosa).
Si COMMAND.COM invocó un programa, el comando IF interno con su condicional ERRORLEVEL se puede usar para probar las condiciones de error del último programa externo invocado.
Bajo COMMAND.COM, los comandos internos no establecen un nuevo valor.
Variables
Los archivos por lotes de COMMAND.COM pueden tener cuatro tipos de variables:
- Variables ambientales: Estos tienen %VARABLE formulario y se asocian con valores con la declaración SET. Antes de DOS 3 COMMAND. COM sólo expandirá las variables de entorno en modo de lote; es decir, no interactivamente en el indicador de comando.
- Parámetros de sustitución: Estos tienen la forma %0, %1...%9, e inicialmente contener el nombre de comando y los primeros nueve parámetros de línea de comandos pasaron al script (por ejemplo, si el comando de facturación fue myscript.bat John. Doe, entonces %0 es "miscript.bat", %1 es "Juan" y %2 es "Doe"). Los parámetros a la derecha del noveno se pueden mapear en rango utilizando la declaración SHIFT.
- Variables de lazo: Usados en bucles, tienen el %% formato cuando se ejecuta en archivos por lotes. Estas variables se definen únicamente dentro de un enunciado específico de FOR, e iteran sobre un determinado conjunto de valores definidos en dicho enunciado FOR.
- Bajo Novell DOS 7, OpenDOS 7.01, DR-DOS 7.02 y superior, COMMAND. COM también admite una serie de variables de información del sistema, una característica encontrada anteriormente en 4DOS 3.00 y superior, así como en Multiuser DOS, aunque la mayoría de los nombres de variables soportados difieren.
Redireccionamiento, canalización y encadenamiento
Debido a que DOS es un sistema operativo de una sola tarea, la canalización se logra ejecutando comandos secuencialmente, redirigiendo hacia y desde un archivo temporal. COMMAND.COM no prevé la redirección del canal de error estándar.
command < filename
- Redirección de entrada estándar desde un archivo o dispositivo
command > filename
- Redirigir la salida estándar, sobreescribir el archivo de destino si existe.
command >> filename
- Redirección de salida estándar, dependiendo del archivo de destino si existe.
command1 | command2
- Salida estándar de la tubería comando1 a la entrada estándar comando2
command1 ¶ command2
- Comandos separados por ASCII-20 (¶, invocados por Ctrl+T) se ejecutan en secuencia (cadenamiento de comandos). En otras palabras, primero comando1 se ejecuta hasta la terminación, entonces comando2. Esta es una característica indocumentada en COMMAND. COM de MS-DOS/PC DOS 5.0 y superior. También cuenta con el apoyo de COMMAND. COM de la familia NT de Windows, así como por DR-DOS 7.07. Todas las versiones de DR-DOS COMMAND. COM ya apoyó una función interna similar utilizando una marca de exclamación (!) en su lugar (una característica originalmente derivada de DOS y Multiuser DOS) - sin embargo, en la línea de usuario único esta característica sólo estaba disponible internamente (en scripts de arranque incorporados como "!DATE!TIME") e indirectamente a través del parámetro $T de DOSKEY para evitar problemas con! como un personaje válido de nombre de archivo. 4DOS es compatible con un separador de línea de comandos configurable (4DOS.INI CommandSep= o SETDOS /C), que predetermina ^. COMMAND. COM en versiones más recientes de Windows NT también admite un
&
separador para compatibilidad con la sintaxis cmd en OS/2 y la familia NT de Windows. (cmd, sin embargo, no soporta el separador ¶.)
Limitaciones
Por lo general, la longitud de la línea de comando en el modo interactivo está limitada a 126 caracteres. En MS-DOS 6.22, la longitud de la línea de comandos en modo interactivo está limitada a 127 caracteres.
En la cultura popular
El mensaje "Cargando COMMAND.COM" se puede ver en una vista de HUD de Terminator y la ventana de visualización interna de RoboCop cuando se reinicia.
En la serie de televisión infantil animada por computadora ReBoot, que tiene lugar dentro de las computadoras, el líder de un sistema (el equivalente a una ciudad) se llama COMMAND.COM.
Contenido relacionado
Sociedad de Poetas Muertos
Ainulindale
Nuevo mundo valiente