Ich frage mich , warum der Befehl java -version
ist global zugänglich?
Ich könnte es aus jedem Verzeichnis ausführen und es funktioniert:
Wie funktioniert es?
So PATH
sieht meine Systemvariable aus:
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;
%SystemRoot%\system32;
%SystemRoot%;
%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
Was mich betrifft, java.exe
befindet sich in%programfiles%\java\jre7\bin
command-line
Pacerier
quelle
quelle
java.exe
(oderjava.com
usw.) nicht in Ihrem enthalten ist,PATH
gibt es einen anderen Registrierungseintrag, der ausführbare Pfade angeben kann.Antworten:
In der Regel gibt es eine Gruppe von Verzeichnissen, in denen ausführbare Dateien, die wiederholt verwendet werden, von Ihrem Windows gefunden werden. In der Praxis gibt es jedoch keinen bestimmten Grund, einen Befehl als global zu verwenden oder nicht. Entwickler haben es früher als "global" aufgenommen, wo immer sie wollen, sie können es tun. Wenn Sie einen Befehl als "global" verwenden möchten, müssen Sie Ihren Befehl als "Windows-Umgebungsvariable" hinzufügen . Dazu können Sie die folgenden Methoden verwenden :
Manuelles Hinzufügen mit "Windows-Systemeigenschaften":
Verwenden des Add-On-Tools Setx.exe:
Es ist nicht Teil des Standard-Windows XP-Setups, aber ein Befehlszeilentool namens setx.exe ist in den Windows XP Service Pack 2-Supporttools enthalten. Dieses Tool erweitert den Befehl set, sodass dauerhafte Änderungen an den Umgebungsvariablen vorgenommen werden können. Um beispielsweise dem Pfad einen Ordner C: \ New Folder hinzuzufügen, lautet der Befehl
Der Befehl "Set" kann in einer Eingabeaufforderung zusammen mit einer Umleitung in eine Textdatei verwendet werden, um eine Liste der aktuellen Umgebungsvariablen zu erstellen. Der Befehl könnte sein
Der Dateiname "C: \ env_list.txt" kann durch einen beliebigen Ihrer Wahl ersetzt werden.
Microsoft hat auch ein VBScript, das Umgebungsvariablen auf dieser Seite auflistet .
Für diejenigen, die Erfahrung mit der Bearbeitung der Registrierung haben, gibt es eine andere Möglichkeit, Änderungen an Umgebungsvariablen vorzunehmen. Benutzerumgebungsvariablen werden in der Registrierung im folgenden Schlüssel gespeichert:
Systemvariablen finden Sie im Schlüssel:
Beachten Sie, dass jede Umgebungsvariable in der Form, die erweitert werden muss (z. B.% PATH%), in der Registrierung als REG_EXPAND_SZ-Registrierungswert gespeichert werden muss. Das Bearbeiten der Registrierung gilt hauptsächlich für Skripts, die von Systemadministratoren verwendet werden, und wird für den durchschnittlichen PC-Benutzer nicht empfohlen.
Weitere Informationen dazu finden Sie hier.
quelle
%programfiles%\java\jre7\bin
. Dieser Ordner erscheint nicht in der"Globale Befehle" werden durch Ihre Umgebungsvariablen bestimmt.
Je nachdem, welches Betriebssystem Sie verwenden, um es einzustellen, ist es ziemlich unterschiedlich.
Der allgemeinste Weg ist durch
Klicken Sie mit der rechten Maustaste auf "Arbeitsplatz". Wählen Sie "Eigenschaften".
In Windows 7 müssen Sie links im Bereich "Erweiterte Systemeinstellungen" auswählen.
Wenn Sie das Dialogfeld Systemeigenschaften geöffnet haben, wählen Sie die Registerkarte "Erweitert".
Unten befindet sich eine Schaltfläche "Umgebungsvariablen".
Im Dialogfeld Umgebungsvariablen können Sie Umgebungsvariablen pro Benutzer oder für das gesamte System konfigurieren.
Zum Beispiel würde die vereinfachte Systemvariable "Pfad" ungefähr so aussehen ...
C: \ Programme \ Java \ jre6 \ bin ; C: \ Ruby19 \ bin;
Ausführbare Dateien in diesen Pfaden können direkt über die Befehlszeile aufgerufen werden.
Der Grund, warum Sie calc, mspaint, cmd im Dialogfeld "Ausführen" aufrufen können, liegt darin, dass sich C: \ windows \ system32 in der Umgebungsvariablen "Pfad" befindet.
Sie können den Umgebungsvariablen benutzerdefinierte Pfade hinzufügen, wobei Sie darauf achten, die vorhandenen nicht zu überschreiben und die Pfade mithilfe eines Semikolons zu trennen. ";"
Sie können dann eine ausführbare Datei von diesem Pfad direkt in der Befehlszeile ausführen, ohne den gesamten Pfad wie den Befehl java -version eingeben zu müssen.
Weitere Informationen finden Sie unter den folgenden Links ...
Umgebungsvariablen
Umgebungsvariablen verstehen und konfigurieren
quelle
Hier ist eine einfache
which
Methode, die alle Befehlstreffer in PATH für die aktuellen PATHEXT-Erweiterungen anzeigt:Setzen Sie das ein
where.cmd
(erlauben Siewhich
, von woanders zu kommen, wenn Sie es bekommen!) Und rufen Sie es mit anwhere java
.In meinem obigen Kommentar habe ich vorgeschlagen, dass Sie [ref] einchecken können , wenn
java
dies nicht in Ihrem angezeigt wird. Nachdem Sie dies tatsächlich versucht haben, funktioniert es nicht mit der Befehlszeile, sondern nur mit Dingen, die verwendet werden , wie z. B. Start Run und der CLI-Befehl.PATH
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
ShellExecuteEx
start
quelle
Wenn Sie einen Befehl eingeben, betrachtet die Shell eine Umgebungsvariable mit dem Namen PATH (% PATH%, $ PATH je nach Betriebssystem). Es fragt jedes Verzeichnis im PATH ab, um festzustellen, ob es auf eine ausführbare Datei stößt, die dem von Ihnen eingegebenen Befehl entspricht. Der erste, den es findet, wird ausgeführt.
In den anderen Antworten finden Sie einige der verschiedenen Möglichkeiten zum Festlegen der PATH-Variablen.
quelle