PATH Umgebungsvariablen wiederherstellen?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

...Macht man doch nich, ohne zuvor eine Kopie anzulegen...😅

Die Path -Variable sollte alle Pfade enthalten, welche abgesucht werden, wenn kein expliziter Pfad für einen Programmaufruf angegeben wird.

Der Standardpfad /-reihenfolge ist in jedem Fall:

(alle Einzelpfade werden durch Semikolon getrennt angegeben!)

C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath

Optional kannst Du auch andere Pfade zusätzlich angeben (wenn Du die entsprechenden Programme installiert hast)

z.B

C:\Program Files\NVIDIA Corporation\NVIDIA NGX;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft VS Code\bin;C:\Program Files\dotnet\;C:\Program Files\PowerShell\7-preview\preview

...das waren die Pfade welche in die systemweite PathVariable gehören.

Diese kannst Du in der Console (%WINDIR%\system32\cmd.exe) (als Admin ausführen) mit dem Kommando %WINDIR%\system32\setx.exe setzen:

"%WINDIR%\system32\setx.exe" /m "Path" "C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath"

zusätzlich gibt er einen Teil von Pathvariablen, welche per Nutzer gesetzt werden können. zB:

%LocalAppData%\Microsoft\WindowsApps;%UserProfile%\.dotnet\tools

...usw.

Diese Nutzerbezogenen Suchpfade kannst Du ebenfalls mit dem SetX (ohne Admin) setzen:

"%WINDIR%\system32\setx.exe" "Path" "%LocalAppData%\Microsoft\WindowsApps"

hier noch eine kleine Batch, welche Obiges automatisch erledigt. einfach ohne Admin starten (holt sich automatisch die Adminrechte):

setDefaultPaths.cmd

@echo off
  rem nur Temporär, wenn die Pathvariable gelöscht wurde
set "Path=C:\WINDOWS\system32;"
set "PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"


set "elevator=%~dpn0.elevate.js"
set "self=%~f0" 
net session >nul 2>&1 && goto :adminTasks
 rem setze Standardnutzerpfad:
setx  "Path" "%LocalAppData%\Microsoft\WindowsApps"


 rem starte Adminsession
echo new ActiveXObject^("shell.application"^).ShellExecute^('%self:\=\\%','' ,'','runas',4^); >"%elevator%"
cscript //nologo "%elevator%"
exit /b


:adminTasks
setx /m "Path" "C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath"
 rem optional,  frisst  kein Brot
setx /m "PATHEXT" ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"
pause
Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren