Me preguntaba por qué el comando java -version
es accesible globalmente .
Podría ejecutarlo desde cualquier directorio y funciona:
¿Como funciona?
Así es PATH
como se ve mi variable de sistema :
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;
%SystemRoot%\system32;
%SystemRoot%;
%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
En cuanto a mí, java.exe
se encuentra en%programfiles%\java\jre7\bin
command-line
Pacerier
fuente
fuente
java.exe
(ojava.com
, etc.) no está en su cuenta,PATH
hay otra entrada de registro que puede especificar rutas ejecutables.Respuestas:
Por lo general, hay un grupo de directorios donde su Windows puede encontrar archivos ejecutables que se usan repetidamente, pero en la práctica no hay una razón específica para usar un comando como global o no. Los desarrolladores solían incluirlo como "global" donde quieran, son libres de hacerlo. Si desea utilizar cualquier comando como "global", deberá agregar su comando como "Variable de entorno de Windows" . Para hacer esto, puede usar los siguientes métodos :
Agregar manualmente con "Propiedades del sistema de Windows":
Usando la herramienta complementaria Setx.exe:
No forma parte de la configuración estándar de Windows XP, pero las herramientas de soporte de Windows XP Service Pack 2 incluyen una herramienta de línea de comandos llamada setx.exe. Esta herramienta extiende el comando set para que se puedan realizar cambios permanentes en las variables de entorno. Por ejemplo, para agregar una carpeta C: \ Nueva carpeta a la ruta, el comando sería
El comando "Establecer" se puede usar en un símbolo del sistema junto con una redirección a un archivo de texto para hacer una lista de las variables de entorno actuales. El comando puede ser
El nombre de archivo "C: \ env_list.txt" puede ser reemplazado por cualquiera de su elección.
Microsoft también tiene un VBScript que enumera las variables de entorno en esta página .
Para aquellos que tienen experiencia en la edición del Registro, hay otra forma de hacer cambios en las variables de entorno. Las variables de entorno del usuario se almacenan en el Registro en la clave:
Las variables del sistema se encuentran en la clave:
Tenga en cuenta que cualquier variable de entorno que tenga la forma que necesita expandirse (por ejemplo,% PATH%) debe almacenarse en el registro como un valor de registro REG_EXPAND_SZ. La edición del Registro es principalmente para los scripts utilizados por los administradores de sistemas y no se recomienda para el usuario promedio de PC.
Puede encontrar más información al respecto aquí.
fuente
%programfiles%\java\jre7\bin
. Esta carpeta no aparece en la variable de ruta de mi sistema ...Los "Comandos globales" están determinados por las variables de entorno.
Dependiendo de qué sistema operativo esté utilizando para acceder a él, es bastante diferente.
La forma más genérica es por
Haga clic derecho en "Mi PC" Seleccione "Propiedades"
En Windows7 tendrá que seleccionar "Configuración avanzada del sistema" en el panel de la izquierda.
Una vez que tenga abierto el cuadro de diálogo Propiedades del sistema, seleccione la pestaña "Avanzado".
En la parte inferior, hay un botón "Variables de entorno"
En el cuadro de diálogo Variables de entorno, podrá configurar variables de entorno por usuario o para todo el sistema.
Por ejemplo, la "Ruta" de la variable del sistema simplificada se vería así ...
C: \ Archivos de programa \ Java \ jre6 \ bin ; C: \ Ruby19 \ bin;
Los ejecutables en estas rutas se pueden llamar directamente desde la línea de comandos.
La razón por la que puede llamar a calc, mspaint, cmd todo desde el cuadro de diálogo Ejecutar es porque C: \ windows \ system32 está en la variable de entorno Path.
Puede agregar rutas personalizadas a las variables ambientales, con cuidado de no anular la existente y separar las rutas con un punto y coma. ";"
Luego puede ejecutar un ejecutable desde esa ruta directamente en la línea de comandos sin escribir la ruta completa, como el comando java -version.
Para más información, consulte los siguientes enlaces ...
Variables de entorno
Comprender y configurar variables de entorno
fuente
Aquí hay un simple
which
que muestra todos los golpes de comando en PATH para las extensiones PATHEXT actuales:Pon eso
where.cmd
(permitiendowhich
que venga de otro lugar si lo obtienes) y llámalo conwhere java
.Ahora, en mi comentario anterior, me sugirió que si
java
no no aparecerá en suPATH
, se puede comprobar enHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
[ref] , pero después en realidad tratando de esto, no funciona con la línea de comandos, sólo que con las cosas que el usoShellExecuteEx
, tales como Ejecutar y elstart
comando CLI.fuente
Cuando ingresa un comando, el shell observa una variable de entorno llamada PATH (% PATH%, $ PATH dependiendo del sistema operativo). Consulta cada directorio en la RUTA para ver si encuentra un ejecutable que coincida con el comando que ingresó. Se ejecutará el primero que encuentre.
Consulte otras respuestas para conocer algunas de las diversas formas de establecer la variable PATH.
fuente