PATH mit SETX oder PATHMAN oder etwas anderem hinzufügen?


12

Ich versuche, einen PATH über die Befehlszeile hinzuzufügen, wie bei SETX% PATH% ... es erweitert immer den PATH, den ich nicht möchte.

PATHMAN ist genau für diesen Zweck vorgesehen, funktioniert jedoch unter Windows 7 nicht. Es friert meistens ein und prüft nicht auf Duplikate.

Es muss ein Tool zum ordnungsgemäßen Verwalten von PATH-Variablen vorhanden sein. SETX wäre perfekt, aber vielleicht nicht mit der% PATH% -Syntax.

Antworten:


13

Siehe den Artikel Bearbeiten der Umgebungsvariablen PATH in Windows ohne Schmerzen .

Es wird empfohlen, pathed zu verwenden :

Angenommen, Sie haben Ihre Sysinternal-Tools in C: \ Bin \ Sysinternals und möchten sie dem PATH hinzufügen. Einfach machen:

pathed /append C:\Bin\Sysinternals /machine

Wenn Sie sie stattdessen dem Benutzer-PATH-System hinzufügen möchten, gehen Sie wie folgt vor:

pathed /append C:\Bin\Sysinternals /user

Genau das habe ich gesucht! Aus dem Artikel habe ich die anderen 3 Lösungen schon ohne Glück ausprobiert. Es scheint, dass dies der ist, nach dem ich gesucht habe. Funktioniert perfekt! Übrigens hat es nichts mit Sysinternals zu tun.
Hyperknot

Dies soll funktionieren, hat aber einen wesentlichen Fehler. Wenn Sie versuchen, dem Benutzerpfad etwas hinzuzufügen / hinzuzufügen, und der Benutzerpfad nicht definiert ist, kann das Dienstprogramm den Pfad nicht hinzufügen.
Sorin

1
Ich habe diese App gerade ausprobiert. Es war frustrierend, dass es nicht zu funktionieren schien. Ich habe festgestellt, dass ich es ausführen muss, während ich als Administrator angemeldet bin, ODER es in einer Befehlsshell ausführen muss, die mit "Als Administrator ausführen" gestartet wurde. Möglicherweise müssen Sie auch "/ machine" kategorisch verwenden, wenn Sie den Pfad auf Maschinenebene beeinflussen möchten. Viel Glück! Und danke an @harrymc für den Tipp; +1 von mir!
Dan H

FWIW, es gibt ein weiteres "pathed" -Dienstprogramm, das auf code.google.com veröffentlicht wurde und mit einer etwas anderen Syntax ziemlich dasselbe zu tun scheint.
Syneticon-DJ

4

(Ich weiß, dass Sie diese Frage bereits beantwortet haben, aber)

Das Problem bei Ihrer Verwendung von setxist, dass Sie die Zeichenfolge, die Sie festlegen möchten, nicht zitieren. Da das ;Zeichen ein Befehlsbegrenzer ist (Sie können Befehle nacheinander ausführen, die nacheinander ausgeführt werden sollen), wird angenommen, dass Sie den Pfad festlegen und dann einen anderen Befehl ausführen.

Was Sie tun sollten, ist Folgendes:

setx /M path "C:\perl\bin;%path%"

Dies stellt meiner %path%Variablen vor C:\perl\bin, weil ich möchte, dass sie vor allem anderen steht, das installiert werden kann. Das /Mbedeutet, dass ich das System EnvVar meine, nicht das des Benutzers.


2
Es wird Pfade länger als 1024
abschneiden

1

Ich kenne drei Methoden, von denen eine permanent ist (beim Hinzufügen von Umgebungsvariablen) und die andere 2 r temp .. nur zum Festlegen des Pfads, und daher wird der von ihnen festgelegte Pfad zerstört, nachdem cmd beendet (geschlossen) wurde. Beginnend mit Methoden: -

  1. Temporäre Methode 1: -

    setx PATH "% PATH%; c: \ Pfadname;"

  2. Temporäre Methode 2: -

    setze PATH = c: \ Pfadname;% PATH%

  3. Permanente Methode: -

    Pfad / Anhang c: \ Pfadname / Maschine (für alle Benutzer) Pfad / Anhang c: \ Pfadname / Benutzer (für aktuellen Benutzer)


0

Verwenden Sie unter Windows 10 x64 1909 (und wahrscheinlich früheren Builds) die Startmenüsuche mit "Variablen festlegen", um eines der folgenden zurückgegebenen Ergebnisse zu finden und auszuführen, um auf den überarbeiteten grafischen Editor von MS zuzugreifen, indem Sie auf die Schaltfläche [Umgebungsvariablen] klicken: - Bearbeiten Sie die Schaltfläche Systemumgebungsvariablen - Bearbeiten Sie Umgebungsvariablen für Ihr Konto

Der Editor ist auch über die Schaltfläche [Umgebungsvariablen] im alten Dialogfeld Systemeigenschaften zugänglich.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.