Erwägen Sie auch die Verwendung von SETX
- wird eine Variable auf Benutzer- oder Rechnerebene gesetzt (verfügbar für alle Benutzer), wobei die Variable beim nächsten Öffnen der cmd.exe verwendbar ist, so dass sie oft zusammen mit SET
:
::setting variable for the current user
if not defined My_Var (
set "My_Var=My_Value"
setx My_Var My_Value
)
::setting machine defined variable
if not defined Global_Var (
set "Global_Var=Global_Value"
SetX Global_Var Global_Value /m
)
Sie können die Registrierungswerte auch direkt bearbeiten:
Benutzer-Variablen: HKEY_CURRENT_USER \Environment
System-Variablen: HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Control\Session Manager \Environment
Dadurch können einige Einschränkungen von SET und SETX vermieden werden, wie z.B. die Variablen, die =
in ihren Namen.
3rd party edit
SETX.exe Umgebungsvariablen dauerhaft setzen,
SETX kann verwendet werden, um Umgebungsvariablen für den Rechner (HKLM) oder den aktuell angemeldeten Benutzer (HKCU) zu setzen:
Option /m
/m
Set the variable in the system environment HKLM.
(The default is the local environment HKCU)
Ein weiteres Beispiel
::setting variable for the current user
if not defined JAVAJDK (
set "JAVAJDK=C:\Program Files\Java\jdk-13\bin"
setx JAVAJDK "C:\Program Files\Java\jdk-13\bin"
)
In einer command.exe können Sie die Variable wie folgt verwenden cd %JAVAJDK%
.