locked
¿desde donde se ejecuta un programa? RRS feed

  • Pregunta

  • Cuando tengo un .com y un .exe en una carpeta y doy el nombre del programa, se ejecuta primero el com. Y además lo busca en el path. Esta es la vieja teoria desde msdos.

     

    Pero en windows estoy desorientado con las nuevas extensiones, vbs, por ejemplo, etc, ¿como puedo tener seguridad que es lo que se ejecuta y los criterios?

     

    Salu2.

     

    viernes, 4 de abril de 2008 18:16

Respuestas

  • Se busca en el directorio en curso y a continuacion en cada una de las carpetas definidas en el path. Destro de cada una de las anteriores, a igualdad de nombre, prima las extensiones, por su orden, definidas en la variable de entorno %PATHEXT%

    Tanto el PATH como PATEXT puedes verlo en un Simbolo del Sistema sin mas que dar la instruccion "set" (sin las comillas).

    Puedes crearte un pequeño comando que te ayude en caso de duda, por ejemplo.

    Crea con el cuaderno de notas un archivo llamado findpath.cmd -por ejemplo- con este contenido:


    @for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if {%%~$PATH:i} NEQ {} echo %%~$PATH:i


    La forma de ejecutarlo, es:

    findpath programa

    por ejemplo:

    findpath calc


    Un saludo,

    viernes, 4 de abril de 2008 18:22
  • Ha salido un poco "roto" el mensaje. Todo el comando anterior debe estar en una sola linea.

     

    Un saludo,

     

     

    viernes, 4 de abril de 2008 18:35

Todas las respuestas

  • Se busca en el directorio en curso y a continuacion en cada una de las carpetas definidas en el path. Destro de cada una de las anteriores, a igualdad de nombre, prima las extensiones, por su orden, definidas en la variable de entorno %PATHEXT%

    Tanto el PATH como PATEXT puedes verlo en un Simbolo del Sistema sin mas que dar la instruccion "set" (sin las comillas).

    Puedes crearte un pequeño comando que te ayude en caso de duda, por ejemplo.

    Crea con el cuaderno de notas un archivo llamado findpath.cmd -por ejemplo- con este contenido:


    @for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if {%%~$PATH:i} NEQ {} echo %%~$PATH:i


    La forma de ejecutarlo, es:

    findpath programa

    por ejemplo:

    findpath calc


    Un saludo,

    viernes, 4 de abril de 2008 18:22
  • Ha salido un poco "roto" el mensaje. Todo el comando anterior debe estar en una sola linea.

     

    Un saludo,

     

     

    viernes, 4 de abril de 2008 18:35
  • Muchas gracias.

     

     

    viernes, 4 de abril de 2008 18:53