Jak ustawić globalne środowisko PATH w pliku wsadowym?

11

Zasady grupy w naszym środowisku nadpisują zmienną PATH za każdym razem, gdy się loguję, a kiedy uruchamiam „niestandardowy” komputer, robi się zupełnie źle (C: \ Windows vs C: \ WINNT, brakujące katalogi itp.). Obecnie ręcznie go zmieniam przy każdym logowaniu, ale zaczyna to być męczące.

Jeśli użyję polecenia SET do zmiany zmiennej PATH w pliku wsadowym, ma on tylko zasięg lokalny, więc zmiana dotyczy tylko poleceń w pliku wsadowym.

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

Ten plik wsadowy wyświetli nową ścieżkę, ale jeśli set PATHpóźniej uruchomię wiersz poleceń, nadal będzie to oryginalna ścieżka.

Jak ustawić globalne środowisko PATH w pliku wsadowym? Czy jest jeszcze inna technika, której mogę użyć?

Wysoki facet
źródło

Odpowiedzi:

10

Możesz użyć polecenia setx :

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

Setx jest dostępny w systemie Windows 2003 i nowszych, ale można go pobrać w Narzędziach obsługi systemu Windows XP.

Phil Ross
źródło
0

Jest to edytowane w preferencjach systemowych -> [Zmienne środowiskowe]. Tam dodajesz ścieżki do $ PATH

kolypto
źródło
Tak właśnie robię za każdym razem, gdy się loguję. Chcę to zrobić w pliku wsadowym, aby można to zrobić automatycznie.
TallGuy,
0

Aby ustawić ścieżkę w rejestrze, tak aby się propagowała, możesz utworzyć skrypt programu PowerShell, który wykorzystuje pewne odmiany tego:

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

Ale kiedy wypróbowałem to teraz, a potem spojrzałem na Właściwości systemu> Zmienne środowiskowe, nie tylko dodałem moją ścieżkę testową, ale podwoiłem istniejącą. Tak więc należy rozwiązać ten problem.

Na podstawie tej strony .

Wstrzymano do odwołania.
źródło