setx

Erstellt oder ändert Umgebungsvariablen in der Benutzer- oder Systemumgebung, ohne programmieren oder skripten zu müssen. Der Setx-Befehl ruft auch die Werte von Registrierungsschlüsseln ab und schreibt sie in Textdateien.

Hinweis

Dieser Befehl bietet die einzige Befehlszeile oder 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 für den Befehlsinterpreter (Cmd.exe) intern 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 zurücken 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 sind die Systemberechtigungen.
/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: . Beispielsweise können Sie 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 Offsets als Suchparameter an.
/r <X>,<Y> <String> Gibt relative Koordinaten und offset von String als Suchparameter an.
/m Gibt an, dass die Variable in der Systemumgebung festgelegt werden soll. Die Standardeinstellung ist die lokale Umgebung.
/x Zeigt Dateikoordinaten an und ignoriert dabei die Befehlszeilenoptionen /a, /r und /d .
/d <delimiters> Gibt Trennzeichen wie oder an, die zusätzlich zu den vier integrierten Trennzeichen verwendet werden sollen: SPACE, TAB, ENTER und LINEFEED. Gültige Trennzeichen sind beliebige 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 SETENV.

  • Mit diesem Befehl können Sie Werte für Benutzer- und Systemumgebungsvariablen aus einer von drei Quellen (Modi) festlegen: 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 Hives. 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 ohne 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 Zeilenfeed).

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

    Wenn beispielsweise die Variable %PATH% einen Verweis auf %JAVADIR% hat und %PATH% mit setx bearbeitet wird, wird %JAVADIR% erweitert, und der Wert wird direkt der Zielvariablen %PATH% zugewiesen. Dies bedeutet, dass zukünftige Updates für %JAVADIR % nicht in der %PATH%-Variablen widergespiegelt werden.

  • Beachten Sie, dass beim Zuweisen von Inhalten zu einer Variablen mit setx ein Limit von 1.024 Zeichen besteht.

    Dies bedeutet, dass der Inhalt zugeschnitten wird, wenn Sie mehr als 1024 Zeichen verwenden, 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 gespeichert wurden.

Beispiele

Geben Sie Zum Festlegen der MACHINE-Umgebungsvariablen in der lokalen Umgebung den Wert Brand1 ein:

setx MACHINE Brand1

Geben Sie Zum Festlegen der MACHINE-Umgebungsvariablen in der Systemumgebung den Wert Brand1 Computer ein:

setx MACHINE Brand1 Computer /m

Um die MYPATH-Umgebungsvariable in der lokalen Umgebung so festzulegen, dass sie den in der PATH-Umgebungsvariablen definierten Suchpfad verwendet, geben Sie:

setx MYPATH %PATH%

Geben Sie Ein, um die MYPATH-Umgebungsvariable in der lokalen Umgebung so festzulegen, dass sie den in der PATH-Umgebungsvariablen definierten Suchpfad verwendet, nachdem durch ersetzt wurde:

setx MYPATH ~PATH~

Um die MACHINE-Umgebungsvariable in der lokalen Umgebung auf einem Remotecomputer mit dem Namen computer1 auf Brand1 zu setzen, geben Sie:

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

Um die MYPATH-Umgebungsvariable in der lokalen Umgebung so festzulegen, dass sie den suchpfad verwendet, der in der PATH-Umgebungsvariablen auf einem Remotecomputer mit dem Namen computer1 definiert ist, geben Sie:

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

Um die TZONE-Umgebungsvariable in der lokalen Umgebung auf den Wert im RegistrierungsschlüsselHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName, geben Sie Folgendens ein:

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

Um die TZONE-Umgebungsvariable in der lokalen Umgebung eines Remotecomputers mit dem Namen computer1 auf den Wert im registrierungsschlüsselHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardNamefestlegen, geben Sie Folgendens ein:

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

Um die BUILD-Umgebungsvariable in der Systemumgebung auf den Wert im RegistrierungsschlüsselHKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber, geben Sie Folgendens ein:

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

Um die BUILD-Umgebungsvariable in der Systemumgebung eines Remotecomputers mit dem Namen Computer1 auf den Wert im RegistrierungsschlüsselHKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber, geben Sie Folgendens ein:

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

Um den Inhalt einer Datei namens Ipconfig.out zusammen mit den entsprechenden Koordinaten des Inhalts anzuzeigen, geben Sie:

setx /f ipconfig.out /x

Geben Sie Zum Festlegen der IPADDR-Umgebungsvariablen in der lokalen Umgebung auf den Wert an der Koordinate 5,11 in der Datei Ipconfig.out Ein:

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

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

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

Geben Sie Zum Festlegen der IPGATEWAY-Umgebungsvariablen in der lokalen Umgebung auf den Wert an der Koordinate 0,7 in Bezug auf die Koordinate des Gateways in der Datei Ipconfig.out Ein:

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 namens computer1 anzuzeigen, geben Sie:

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

Weitere Verweise