Orden de prioridad en la localización de archivos ejecutables

Exención de responsabilidades de contenido KB retirado

Este artículo se refiere a productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Resumen

Este artículo describe lo siguiente:


  • Cómo COMMAND.COM busca archivos ejecutables
  • El orden de prioridad relacionado con esta búsqueda
  • Cómo se puede reemplazar el orden en versiones de MS-DOS 4.x y posteriores
  • Llame a la diferencia en el reconocimiento de nombre de archivo entre COMMAND.COM y del sistema de MS-DOS EXEC

Más información

COMMAND.COM

COMMAND.COM puede ejecutar un archivo escrito en la línea de comandos o como una línea en un archivo por lotes.

Versiones anteriores a la versión 4.0 de MS-DOS

Cuando se proporciona un nombre de archivo, si no se suministra una extensión, COMMAND.COM mantiene sólo el nombre base. (COMMAND.COM quita la extensión de nombre de archivo si existe [por ejemplo, "Archivo" permanece si el nombre del archivo es "archivo. "EXE"]). Una vez que tiene el nombre base, COMMAND.COM busca en el siguiente orden para un archivo ejecutable con este nombre:

   .COM  .EXE  .BAT

Si COMMAND.COM no puede encontrar este archivo en el directorio actual de la unidad actual, empieza a buscar en los directorios especificados en la variable de entorno PATH en el archivo AUTOEXEC. Archivo BAT. Si no se encuentra ese archivo, se muestra el siguiente mensaje de error:
Comando o archivo nombre incorrecto
Por ejemplo, si hay tres archivos en el directorio actual: archivo.com, archivo. EXE y archivo. BAT y se intenta ejecutar cualquiera de ellos escribiendo
Archivo.com, archivo. EXE, del archivo. BAT, o el archivoCOMMAND.COM ejecuta sólo archivo.com, porque éste es el primer archivo que encuentra.

Versiones 4.0 y posteriores de MS-DOS

En las versiones 4.0 y posteriores de MS-DOS, puede reemplazar la prioridad COM-EXE-BAT escribiendo el comando con la extensión.


Por ejemplo, si hay tres archivos en el directorio actual: archivo.com, archivo. EXE y archivo. BAT y se intenta ejecutar cualquiera de ellos escribiendo
Archivo.com, archivo. EXE, o del archivo. BAT, COMMAND.COM ejecuta lo especifica. Sin embargo, si no se proporciona ninguna extensión de nombre de archivo, se utiliza el orden de prioridad normal (.COM,. EXE, y. (BAT).


Un efecto secundario de este comportamiento es que no funcionen algunas formas incorrectas o expedita de la ejecución de archivos. Por ejemplo, en versiones anteriores a 4.0 de MS-DOS, puede ejecutar el archivo. BAT escribiendo el nombre de archivo con un punto lo sigue archivo.. Sin embargo, en MS-DOS 4.0 y posteriores, si escribe archivos., MS-DOS busca un archivo con este nombre, no se puede encontrar uno y devuelve un mensaje de error "comando o archivo nombre incorrecto".

Versiones de MS-DOS 5.0 y versiones posteriores

Las versiones 5.0 y posteriores de MS-DOS buscan archivos en el orden siguiente:

   DOSKEY Macro  .COM  .EXE  .BAT

Por ejemplo, si hay tres archivos en el directorio actual: archivo.com, archivo. EXE y archivo. BAT y también existe una macro DOSKEY con el nombre de archivo, la macro se prioridad y se ejecuta cuando se ejecuta el archivo desde la línea de comandos del directorio actual. Esto no es cierto en las versiones anteriores de MS-DOS, ya que no había ninguna característica de macro DOSKEY.


Además, en MS-DOS 5.0 y versiones posteriores, las macros DOSKEY tienen prioridad sobre los comandos internos. Para reemplazar una macro de DOSKEY, escriba uno o más espacios antes del comando.

Función EXEC

La función EXEC de MS-DOS (interrupción 21h servicio 4Bh) no entiende las extensiones de nombre de archivo; por lo tanto, se toma el nombre del archivo especificado cuando se invoca y se intenta ejecutarla.


Esta falta de información de nombre de archivo es una ventaja para los programas que tienen archivos que son ejecutables. Estos archivos son controladores de dispositivos (que normalmente tienen la extensión. (SYS) o superponer archivos (que normalmente tienen la extensión. OVL). COMMAND.COM no se puede ejecutar estos archivos; sólo los programas que se llame explícitamente a la función EXEC pueden ejecutar estos programas.


La función EXEC comprende únicamente los archivos que en la mayoría de los casos, tienen .COM y. Extensión EXE. No es capaz de ejecutar. Archivos BAT; estos archivos son específicamente "ejecutar", una línea a la vez, por COMMAND.COM.
Propiedades

Id. de artículo: 35284 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios