Hinzufügen eines Verzeichnisses zur PATH-Umgebungsvariablen in Windows



Answers

  • Öffnen Sie das Konsolenfenster, nachdem Sie den Systempfad über Systemsteuerung oder Systemeinstellungen geändert haben.

Oder

  • set PATH=%PATH%;C:\xampp\php

    Im Befehlsfenster haben Sie geöffnet.

    Brechen sie ab:

    set PATH=%PATH%;  -- takes the current path and sets PATH to it.
    C:\xampp\php      -- Adds this directory to the path, because of 'set PATH' this is added to the path
    
Question

In Windows NT-Betriebssystemen habe ich versucht, dieses Verzeichnis zu meiner System PATH Umgebungsvariablen hinzuzufügen:

C:\xampp\php

Also habe ich dieses Verzeichnis um "Arbeitsplatz"> "Eigenschaften"> "Erweitert"> "Umgebungsvariablen"> "Pfad" hinzugefügt. Ich habe es gespeichert, aber als ich getippt habe:

Pfad

In meiner Konsole wird kein hinzugefügtes Verzeichnis "C: \ xampp \ php" angezeigt

PATH = D: \ Programme \ Autodesk \ Maya2008 \ bin; C: \ Ruby192 \ bin; C: \ WINDOWS \ system32; C: \ WINDOWS; C: \ WINDOWS \ System32 \ Wbem; C: \ PROGRA ~ 1 \ DISKEE ~ 2 \ DISKEE ~ 1 \; c: \ Programme \ Microsoft SQL Server \ 90 \ Tools \ Binn \; C: \ Programme \ QuickTime \ QTSystem \; D: \ Programme \ TortoiseSVN \ bin; D: \ Programme \ Bazaar; C: \ Programme \ Android \ android-sdk \ tools; D: \ Programme \ Microsoft Visual Studio \ Common \ Tools \ WinNT; D: \ Programme \ Microsoft Visual Studio \ Common \ MSDev98 \ Bin; D: \ Programme \ Microsoft Visual Studio \ Common \ Tools; D: \ Programme \ Microsoft Visual Studio \ VC98 \ bin

Ich habe zwei Fragen:

  1. Warum ist das passiert? Habe ich etwas falsch gemacht?

  2. Wie kann ich Verzeichnisse in meiner PATH Variablen mithilfe der Konsole oder programmgesteuert (über eine Batch-Datei) hinzufügen?




Das Überprüfen der obigen Vorschläge in Windows 10 LTSB und mit einem Blick auf die "Hilfe" -Konturen (die angezeigt werden können, wenn "command /?" In cmd eingegeben wird), brachte mich zu dem Schluss, dass der PATH-Befehl die Systemumgebungsvariable ändert Pfadwerte nur für die aktuelle Sitzung, aber nach dem Neustart werden alle Werte auf ihren Standardwert zurückgesetzt - wie vor der Verwendung des PATH-Befehls.

Auf der anderen Seite ist die Verwendung des SETX-Befehls mit Administratorrechten viel mächtiger, er ändert diese Werte für immer (oder zumindest bis zur nächsten Verwendung dieses Befehls oder bis zum nächsten Mal, wenn diese Werte manuell von der GUI manipuliert werden ...).

Aber aus Gründen der Klarheit dachte ich, dass das Teilen der besten SETX-Syntax, die für mich funktionierte, jemandem helfen könnte:

SETX PATH "%PATH%;C:\path\to\where\the\command\resides"

wo jedes Gleichheitszeichen '=' vermieden werden sollte, und mach dir keine Sorgen um Leerzeichen! Für einen Pfad, der Leerzeichen enthält, müssen keine Anführungszeichen mehr eingefügt werden - das Trennzeichen ';' mach den Job.

Das PATH-Schlüsselwort, das dem SETX folgt, definiert, welche Gruppe von Werten zwischen den möglichen Werten der Systemumgebungsvariablen geändert werden sollte, und das% PATH% (das Wort PATH umgeben von dem Prozentzeichen) innerhalb der Anführungszeichen weist das Betriebssystem an, das vorhandene zu verlassen PATH-Werte unverändert und fügen den folgenden Pfad (der nach dem Teilzeichen ';' folgt) den vorhandenen Werten hinzu.

HTH




In einer Eingabeaufforderung geben Sie Cmd an, die Befehlszeile des Explorers zu verwenden, indem Sie es mit start voranstellen.

Also start Yourbatchname .

Beachten Sie, dass Sie sich registrieren müssen, als wäre der Name batchfile.exe .

Programme und Dokumente können zur Registrierung hinzugefügt werden, so dass Windows ihren Namen ohne Pfad im Start-Ausführen-Dialogfeld oder in der Verknüpfung eingeben kann, um sie zu finden.

Dies ist eine generische Registrierungsdatei. Kopieren Sie die folgenden Zeilen in ein neues Textdokument und speichern Sie es als anyName.reg. Bearbeiten Sie es mit Ihren Programmen oder Dokumenten.

In Pfaden verwenden Sie \, um Ordnernamen in Schlüsselpfaden zu trennen, da regedit ein einzelnes \ verwendet, um die Schlüsselnamen zu trennen. Alle Registrierungsdateien beginnen mit REGEDIT4. Ein Semikolon verwandelt eine Zeile in einen Kommentar. Das Symbol @ bedeutet, dass der Wert dem Schlüssel und nicht einem benannten Wert zugewiesen wird.

Die Datei muss nicht existieren. Dies kann verwendet werden, um Word.exe zum Öffnen von Winword.exe zu setzen.

Das start batchfile der Start-Batch- start batchfile startet iexplore.exe.

REGEDIT4
;The bolded name below is the name of the document or program, <filename>.<file extension> 

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\Batchfile.exe]

;The @ means the path to the file is assigned to the default value for the key.
;The whole path in enclosed in a quotation mark ".

@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\""

;Optional Parameters. The semicolon means don't process the line. Remove it if you want to put it in the registry

;Informs the shell that the program accepts URLs.

;"useURL"="1"

;Sets the path that a program will use as its' default directory. This is commented out.

;"Path"="C:\\Program Files\\Microsoft Office\\Office\\"

Du wurdest bereits in einer anderen Antwort über den Pfad informiert. Siehe auch doskey /? für Cmd-Makros (sie funktionieren nur beim Tippen).

Sie können Startbefehle für CMD ausführen. Aus der technischen Referenz zu Windows Recource Kit

AutoRun

HKCU\Software\Microsoft\Command Processor 

Data type Range Default value 
REG_SZ  list of commands  There is no default value for this entry.  

Beschreibung

Enthält Befehle, die bei jedem Start von Cmd.exe ausgeführt werden.




  • Änderungen an der Befehlszeile sind nicht dauerhaft und gehen verloren, wenn die Konsole geschlossen wird.
  • Pfad funktioniert wie der erste kommt zuerst.
  • Möglicherweise möchten Sie andere bereits enthaltene ausführbare Dateien überschreiben. Wenn Sie beispielsweise bereits eine andere Version auf Ihrem Pfad haben und eine andere Version hinzufügen möchten, ohne den Pfad permanent zu ändern, sollten Sie das Verzeichnis am Anfang des Befehls platzieren.

Überschreiben bereits enthaltener ausführbarer Dateien;

setze PATH = C: \ xampp \ php;% PATH%;




Was passiert, wenn Sie den Pfad mit setx falsch eingeben? Der beste Weg ist einfach über die Windows-Benutzeroberfläche Systemsteuerung-> Alle Systemsteuerungselemente-> System-> Erweiterte Systemeinstellungen-> Umgebungsvariablen

Scrollen Sie nach unten zu Pfad und wählen Sie Bearbeiten. Sie können es auch kopieren und in Ihren bevorzugten Editor einfügen, damit Sie den gesamten Pfad sehen und einfacher bearbeiten können.




Spät zur Party - aber praktisch, wenn Sie bereits in dem Verzeichnis sind, das Sie PATH hinzufügen möchten.

set PATH=%PATH%;%CD%

edit: per Kommentar - funktioniert mit Standard-Windows-Cmd aber nicht in Powershell.

Für Powershell ist das %CD% -Äquivalent [System.Environment]::CurrentDirectory




Sie brauchen keinen Befehl set oder setx , öffnen Sie einfach das Terminal und tippen Sie:

PATH

Dies zeigt den aktuellen Wert der PATH-Variablen an. Jetzt möchten Sie ein Verzeichnis hinzufügen? Gib einfach ein:

PATH %PATH%;C:\xampp\php

Wenn Sie aus irgendeinem Grund die PATH-Variable löschen möchten (keine Pfade oder alle Pfade darin), geben Sie Folgendes ein:

PATH ;

Aktualisieren

Wie Danial Wilson im Kommentar unten bemerkt, wird der Pfad nur in der aktuellen Sitzung festgelegt. Um den Pfad dauerhaft zu setzen, setx aber sei setx bewusst, obwohl das den Pfad dauerhaft festlegt, aber NICHT in der aktuellen Sitzung, also musst du eine neue Befehlszeile starten, um die Änderungen zu sehen, weitere Infos here .

Um zu überprüfen, ob eine Umgebungsvariable existiert oder ihren Wert sieht, verwenden Sie ECHO commnad:

echo %YOUR_ENV_VARIABLE%





Related