Línea de comandos de Windows XP: debe escribir el nombre completo del ejecutable para ejecutar el programa


2

Digamos que tengo un programa llamado program.exe, y quiero ejecutarlo desde la línea de comandos. Supongamos además que estoy en el símbolo del sistema y en el mismo directorio que program.exe.

Por alguna razón, no puedo ejecutar el programa escribiendo:

program

Más bien, tengo que escribir:

program.exe

Entonces el programa se ejecutará.

No estoy seguro de lo que hice que hizo que se comportara de esta manera. Incluso la sencilla utilidad de ping también requiere que escriba ping.exe.

Curiosamente, traté de escribir "copiar" y todavía lo reconoce. ¿O no es eso un ejecutable?

Respuestas:


4

Copiar es un comando incorporado, de hecho.

Supongo que está familiarizado con la edición de su PATH; sin embargo, en el menú de variables de entorno, hay otro llamado "PATHEXT", que contiene tipos de archivo para ejecutar sin la extensión (lo usé para agregar ".py", para ejecutar scripts de Python) . Compruebe para asegurarse de que .exe está allí. Si no, nunca he encontrado esto antes!


Perfecto. Gracias por la respuesta.
sivabudh

2
C:\>set pathext
PATHEXT=.COM;.EXE;.CMD;.BAT;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.PCS1

Cuando corres program, el intérprete de comandos buscará program, program.com, program.exe, etc. si has perdido .exe De esta lista, eso explicaría lo que estás viendo.

copy es una función incorporada al intérprete de comandos, y no una función separada .exe o .com. En otras palabras, cmd.exe reconoce especialmente esa palabra y maneja la copia en sí misma, en lugar de llamar a otro programa. (Opuesto a xcopy.exe, que no es un comando incorporado.)


Es un poco extraño copy está incorporado y help no es.
grawity
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.