setx

Erstellt oder ändert Umgebungsvariablen in der Benutzer- oder Systemumgebung, ohne dass Programmierung oder Skripterstellung erforderlich sind. Der Befehl Setx ruft auch die Werte von Registrierungsschlüsseln ab und schreibt sie in Textdateien.

Hinweis

Dieser Befehl bietet die einzige Befehlszeile oder die programmgesteuerte Möglichkeit zum direkten und dauerhaften Festlegen von Systemumgebungswerten. Systemumgebungsvariablen können manuell über Systemsteuerung oder über einen Registrierungs-Editor konfiguriert werden. Der Befehl set, der intern für den Befehlsinterpreter (Cmd.exe) ist, legt Benutzerumgebungsvariablen nur für das aktuelle Konsolenfenster fest.

Syntax

setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] <variable> <value> [/m]
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] <variable>] /k <path> [/m]
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] /f <filename> {[<variable>] {/a <X>,<Y> | /r <X>,<Y> <String>} [/m] | /x} [/d <delimiters>]

Parameter

Parameter BESCHREIBUNG
/s <computer> Gibt den Namen oder die IP-Adresse eines Remotecomputers an. Verwenden Sie keine umgekehrten Schrägstriche. Der Standardwert ist der Name des lokalen Computers.
/u [<domain>\]<user name> Führt das Skript mit den Anmeldeinformationen des angegebenen Benutzerkontos aus. Der Standardwert ist die Systemberechtigung.
/p [<password>] Gibt das Kennwort des Benutzerkontos an, das im Parameter /u angegeben ist.
<variable> Gibt den Namen der Umgebungsvariablen an, die Sie festlegen möchten.
<value> Gibt den Wert an, auf den Sie die Umgebungsvariable festlegen möchten.
/k <path> Gibt an, dass die Variable basierend auf Informationen aus einem Registrierungsschlüssel festgelegt wird. Der Pfad verwendet die folgende Syntax: \\<HIVE>\<KEY>\...\<Value>. Sie können beispielsweise den folgenden Pfad angeben: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
/f <filename> Gibt die Datei an, die Sie verwenden möchten.
/a <X>,<Y> Gibt absolute Koordinaten und Offset als Suchparameter an.
/r <X>,<Y> <String> Gibt relative Koordinaten und den Offset von String als Suchparameter an.
/m Gibt an, um die Variable in der Systemumgebung festzulegen. Die Standardeinstellung ist die lokale Umgebung.
/x Zeigt Dateikoordinaten an, wobei die Befehlszeilenoptionen /a, /r und /d ignoriert werden.
/d <delimiters> Gibt Trennzeichen wie , oder \ an, die zusätzlich zu den vier integrierten Trennzeichen – LEERZEICHEN, TAB, EINGABETASTE und LINEFEED – verwendet werden sollen. Gültige Trennzeichen enthalten ein beliebiges ASCII-Zeichen. Die maximale Anzahl von Trennzeichen beträgt 15, einschließlich integrierter Trennzeichen.
/? Zeigt die Hilfe an der Eingabeaufforderung an.

Bemerkungen

  • Dieser Befehl ähnelt dem UNIX-Hilfsprogramm SETENV.

  • Sie können diesen Befehl verwenden, um Werte für Benutzer- und Systemumgebungsvariablen aus einer von drei Quellen (Modi) festzulegen: Befehlszeilenmodus, Registrierungsmodus oder Dateimodus.

  • Dieser Befehl schreibt Variablen in die Masterumgebung in der Registrierung. Variablen, die mit setx-Variablen festgelegt werden, sind nur in zukünftigen Befehlsfenstern verfügbar, nicht im aktuellen Befehlsfenster.

  • HKEY_CURRENT_USER und HKEY_LOCAL_MACHINE sind die einzigen unterstützten Strukturen. REG_DWORD, REG_EXPAND_SZ, REG_SZ und REG_MULTI_SZ sind die gültigen RegKey-Datentypen .

  • Wenn Sie Zugriff auf REG_MULTI_SZ-Werte in der Registrierung erhalten, wird nur das erste Element extrahiert und verwendet.

  • Sie können diesen Befehl nicht verwenden, um Werte zu entfernen, die der lokalen Umgebung oder der Systemumgebung hinzugefügt wurden. Sie können diesen Befehl mit einem Variablennamen und keinem Wert verwenden, um einen entsprechenden Wert aus der lokalen Umgebung zu entfernen.

  • REG_DWORD Registrierungswerte werden extrahiert und im Hexadezimalmodus verwendet.

  • Der Dateimodus unterstützt nur die Analyse von CRLF-Textdateien (Wagenrücklauf und Zeilenvorschub).

  • Wenn Sie diesen Befehl für eine vorhandene Variable ausführen, werden alle Variablenverweise entfernt und erweiterte Werte verwendet.

    Wenn beispielsweise die Variable %PATH% über einen Verweis auf %JAVADIR% verfügt und %PATH% mithilfe von setx bearbeitet wird, wird %JAVADIR% erweitert und ihr Wert wird direkt der Zielvariable %PATH% zugewiesen. Dies bedeutet, dass zukünftige Updates für %JAVADIR% nicht in der %PATH%-Variablen widerzuspiegeln sind.

  • Beachten Sie, dass beim Zuweisen von Inhalten zu einer Variablen mithilfe von setx ein Grenzwert von 1024 Zeichen gilt.

    Das bedeutet, dass der Inhalt abgeschnitten wird, wenn Sie 1024 Zeichen überschreiten, und dass der zugeschnittene Text auf die Zielvariable angewendet wird. Wenn dieser zugeschnittene Text auf eine vorhandene Variable angewendet wird, kann dies zum Verlust von Daten führen, die zuvor von der Zielvariablen gehalten wurden.

Beispiele

Um die Umgebungsvariable MACHINE in der lokalen Umgebung auf den Wert Brand1 festzulegen, geben Sie Folgendes ein:

setx MACHINE Brand1

Um die Umgebungsvariable MACHINE in der Systemumgebung auf den Wert Brand1 Computer festzulegen, geben Sie Folgendes ein::

setx MACHINE Brand1 Computer /m

Um die Umgebungsvariable MYPATH in der lokalen Umgebung so festzulegen, dass der in der PATH- Umgebungsvariable definierte Suchpfad verwendet wird, geben Sie Folgendes ein:

setx MYPATH %PATH%

Um die Umgebungsvariable MYPATH in der lokalen Umgebung so festzulegen, dass der in der Umgebungsvariable PATHdefinierte Suchpfad nach Ersetzen ~durch% verwendet wird, geben Sie Folgendes ein:

setx MYPATH ~PATH~

Um die Umgebungsvariable MACHINE in der lokalen Umgebung auf einem Remotecomputer namens computer1 auf Brand1 festzulegen, geben Sie Folgendes ein::

setx /s computer1 /u maindom\hiropln /p p@ssW23 MACHINE Brand1

Um die Umgebungsvariable MYPATH in der lokalen Umgebung so festzulegen, dass der in der Umgebungsvariable PATH definierte Suchpfad auf einem Remotecomputer namens computer1 verwendet wird, geben Sie Folgendes ein::

setx /s computer1 /u maindom\hiropln /p p@ssW23 MYPATH %PATH%

Um die Umgebungsvariable TZONE in der lokalen Umgebung auf den Wert im Registrierungsschlüssel HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName festzulegen, geben Sie Folgendes ein::

setx TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName

Um die Umgebungsvariable TZONE in der lokalen Umgebung eines Remotecomputers namens computer1 auf den Wert im Registrierungsschlüssel HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName festzulegen, geben Sie Folgendes ein:

setx /s computer1 /u maindom\hiropln /p p@ssW23 TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName

Um die Umgebungsvariable BUILD in der Systemumgebung auf den im Registrierungsschlüssel HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber gefundenen Wert festzulegen, geben Sie Folgendes ein:

setx BUILD /k HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber /m

Um die Umgebungsvariable BUILD in der Systemumgebung eines Remotecomputers namens Computer1 auf den Wert im Registrierungsschlüssel HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber festzulegen, geben Sie Folgendes ein:

setx /s computer1 /u maindom\hiropln /p p@ssW23  BUILD /k HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber /m

Geben Sie Folgendes ein, um den Inhalt einer Datei namens Ipconfig.out zusammen mit den entsprechenden Koordinaten des Inhalts anzuzeigen:

setx /f ipconfig.out /x

Um die Umgebungsvariable IPADDR in der lokalen Umgebung auf den Wert festzulegen, der sich an der Koordinate 5,11 in der Datei Ipconfig.out befindet, geben Sie Folgendes ein::

setx IPADDR /f ipconfig.out /a 5,11

Geben Sie Folgendes ein, um die Umgebungsvariable OCTET1 in der lokalen Umgebung auf den Wert festzulegen, der sich in der Datei Ipconfig.out an der Koordinate 5,3 mit Trennzeichen #$*. befindet:

setx OCTET1 /f ipconfig.out /a 5,3 /d #$*.

Geben Sie Folgendes ein, um die Umgebungsvariable IPGATEWAY in der lokalen Umgebung auf den Wert festzulegen, der sich in der Datei Ipconfig.out an der Koordinate 0,7 mit Bezug auf die Koordinate von Gateway befindet:

setx IPGATEWAY /f ipconfig.out /r 0,7 Gateway

Um den Inhalt der Datei Ipconfig.out zusammen mit den entsprechenden Koordinaten des Inhalts auf einem Computer mit dem Namen computer1 anzuzeigen, geben Sie Folgendes ein:

setx /s computer1 /u maindom\hiropln /p p@ssW23 /f ipconfig.out /x