Para un proyecto en el que estoy trabajando. Necesito buscar un ejecutable en el sistema de ficheros. Para los derivados de UNIX, asumo que el usuario tiene el archivo en el poderoso variable $PATH, pero no hay tal cosa en Windows.

Me puede asumir con seguridad que el archivo es en la mayoría de los 2 niveles de profundidad en el sistema de archivos, pero no sé en qué unidad va a ser. Tengo que tratar a todas las unidades, pero no puedo averiguar cómo la lista de todas las unidades disponibles (que tiene una letra asignada).

Alguna ayuda?

EDICIÓN: sé que hay una variable %PATH%, pero no es tan integrado como en los sistemas UNIX. Por ejemplo, la aplicación que estoy buscando es OpenOffice. Dicho software no sería en %PATH%, por lo general.

InformationsquelleAutor wvdschel | 2008-09-09

5 Comentarios

  1. 2

    Buscando «en todas partes» puede ser muy complicado.

    Vistazo a una unidad de CD-rom, y se gira hacia arriba. Que puede ser muy ruidoso.

    Vistazo a una unidad de red, y puede ser muy lento. Tal vez el servidor está abajo, y puede que tenga que esperar unos minutos hasta que se agote.

    Tal vez (para Windows-máquinas) sólo debe mirar en el menú-inicio. Si no hay puntos en OOo, probablemente no se instala. Si es así, el usuario probablemente es un usuario avanzado, que no tendrá ningún problema señalando la ubicación manualmente.

    • Crees que un CD es ruidoso? Su PC obviamente no tiene unidad de disco más. Los son ruidosos, incluso sin un disquete presente.
  2. 0

    Windows tiene de hecho una variable de entorno PATH. Tiene una sintaxis diferente de la de Unix debido a que se utiliza el punto y coma (;) como separador en lugar de dos puntos (:) y tienes que ver para el citado cadenas de caracteres que puede contener espacios. Pero, es ahí.

    Si este otro programa del instalador añade su propio directorio a la variable de entorno PATH, entonces usted puede confiar en eso. Sin embargo, como usted menciona, instaladores para Windows normalmente, no es necesario añadir la aplicación a la ruta porque se instale un acceso directo al menú inicio o algo a cambio.

    De letras de unidad en Java, un enfoque sería tratar a todos ellos, no sólo va a ser en la mayoría de los 24 (la C a la Z) que son de alguna utilidad. O, usted podría shell y ejecutar «net use» y analizar los resultados, a pesar de que es un poco desordenado.

  3. -1

    Uso de JNI.
    Esto es perfecto para el código c++.
    No sólo puede hacer una lista de todas las unidades, sino también obtener el correspondiente tipo de unidad (extraíble,disco local, o cd-rom,dvd-rom, etc…)

  4. -2

    Por supuesto, hay una PATH variable de entorno en Windows.

    %PATH%
    Esta variable contiene un delimitada por punto y coma lista de directorios en los que el intérprete de comandos de búsqueda en archivos ejecutables. Equivalente a la de UNIX variable $PATH.

    • Sé que hay una variable %PATH%, pero no es tan integrado como en los sistemas UNIX. Por ejemplo, la aplicación que estoy buscando es OpenOffice. Dicho software no sería en %PATH%, normalmente.

Dejar respuesta

Please enter your comment!
Please enter your name here