Wie lege ich die globale PATH-Umgebung in einer Batchdatei fest?

11

Die Gruppenrichtlinie in unserer Umgebung überschreibt die PATH-Variable jedes Mal, wenn ich mich anmelde. Wenn ich einen nicht standardmäßigen Computer ausführe, wird dies völlig falsch (C: \ Windows vs C: \ WINNT, fehlende Verzeichnisse usw.). Derzeit ändere ich es jedes Mal manuell, wenn ich mich anmelde, aber das wird langsam langweilig.

Wenn ich den Befehl SET verwende, um die PATH-Variable in einer Batchdatei zu ändern, hat sie nur den lokalen Bereich, sodass die Änderung nur für die Befehle in der Batchdatei gilt.

set PATH=C:\WINNT;C:\WINNT\System32
set PATH

Diese Batchdatei gibt den neuen Pfad aus, aber wenn ich danach set PATHin der Befehlszeile ausgeführt werde, ist dies immer noch der ursprüngliche Pfad.

Wie lege ich die globale PATH-Umgebung in einer Batchdatei fest? Oder gibt es eine andere Technik, die ich verwenden kann?

Großer Typ
quelle

Antworten:

10

Sie können den Befehl setx verwenden :

setx PATH C:\WINNT;C:\WINNT\System32 /m

Setx ist in Windows 2003 und höher verfügbar, kann jedoch in den Support-Tools für Windows XP heruntergeladen werden .

Phil Ross
quelle
0

Dies wird in den Systemeinstellungen -> [Umgebungsvariablen] bearbeitet. Dort fügen Sie Pfade zu $ ​​PATH hinzu

kolypto
quelle
Das mache ich im Moment jedes Mal, wenn ich mich anmelde. Ich möchte es in einer Batch-Datei machen, damit es automatisch gemacht werden kann.
TallGuy
0

Um Ihren Pfad in der Registrierung so festzulegen, dass er weitergegeben wird, können Sie ein PowerShell-Skript erstellen, das einige Variationen davon verwendet:

[System.Environment]::SetEnvironmentVariable("PATH", $Env:Path + ";newpart", "user")

Aber als ich es gerade ausprobierte und dann auf Systemeigenschaften> Umgebungsvariablen schaute, fügte es nicht nur meinen Testpfad hinzu, sondern verdoppelte den vorhandenen. Das Problem muss also gelöst werden.

Basierend auf dieser Seite .

Bis auf weiteres angehalten.
quelle