RegWrite

Schreibt einen Wert in die Registry.

Neue Syntax [v1.1.21+]

RegWrite, WertTyp, SchlüsselName , WertName, Wert

Parameter

WertTyp

Muss entweder REG_SZ, REG_EXPAND_SZ REG_MULTI_SZ, REG_DWORD oder REG_BINARY sein.

SchlüsselName

Der vollständige Name des Registry-Schlüssels.

Der Name muss entweder mit HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT oder HKEY_CURRENT_CONFIG beginnen (oder jeweils die Abkürzung, wie z. B. HKLM). Um Zugriff auf eine Remote-Registry zu erhalten, setzen Sie wie folgt den Computernamen und einen Doppelpunkt (oder [in v1.1.21+] einen Schrägstrich) davor: \\workstation01:HKEY_LOCAL_MACHINE

WertName

Der Name des Wertes, der geschrieben werden soll. Wenn dieser Parameter weggelassen wird oder leer ist, wird der Standardwert von SchlüsselName verwendet - das ist der Wert, der in RegEdit als "(Standard)" angezeigt wird.

Wert

Der Wert, der geschrieben werden soll. Lässt man diesen Parameter weg, wird je nach WertTyp eine leere Zeichenkette oder 0 verwendet. Wenn der Text relativ lang ist, kann er via Fortsetzungsbereich in mehreren kurzen Zeilen aufgeteilt werden, um die Übersichtlichkeit und Wartbarkeit des Skripts zu erhöhen.

Alte Syntax

Veraltet: Diese Syntax ist nicht für neue Skripte empfohlen. Verwenden Sie stattdessen die neue Syntax.

RegWrite, WertTyp, RootSchlüssel, UnterSchlüssel , WertName, Wert

Parameter

WertTyp

Muss entweder REG_SZ, REG_EXPAND_SZ REG_MULTI_SZ, REG_DWORD oder REG_BINARY sein.

RootSchlüssel

Entweder HKEY_LOCAL_MACHINE (oder HKLM), HKEY_USERS (oder HKU), HKEY_CURRENT_USER (oder HKCU), HKEY_CLASSES_ROOT (oder HKCR) oder HKEY_CURRENT_CONFIG (oder HKCC). Um Zugriff auf eine Remote-Registry zu erhalten, setzen Sie wie folgt den Computernamen und einen Doppelpunkt (oder [in v1.1.21+] einen Schrägstrich) davor: \\workstation01:HKEY_LOCAL_MACHINE

UnterSchlüssel

Der Name des Unterschlüssels (z. B. Software\BeliebigeAnwendung). Wenn UnterSchlüssel nicht vorhanden ist, wird er erstellt (einschließlich seine Elternelemente, falls nötig). Lässt man UnterSchlüssel leer, wird der Wert direkt in RootSchlüssel geschrieben (obwohl einige Betriebssysteme es ablehnen, in der obersten Ebene von HKEY_CURRENT_USER zu schreiben).

WertName

Der Name des Wertes, der geschrieben werden soll. Wenn dieser Parameter weggelassen wird oder leer ist, wird der Standardwert von UnterSchlüssel verwendet - das ist der Wert, der in RegEdit als "(Standard)" angezeigt wird.

Wert

Der Wert, der geschrieben werden soll. Lässt man diesen Parameter weg, wird je nach WertTyp eine leere Zeichenkette oder 0 verwendet. Wenn der Text relativ lang ist, kann er via Fortsetzungsbereich in mehreren kurzen Zeilen aufgeteilt werden, um die Übersichtlichkeit und Wartbarkeit des Skripts zu erhöhen.

Fehlerbehandlung

[v1.1.04+]: Dieser Befehl ist in der Lage, bei Misserfolg eine Ausnahme auszulösen. Weitere Informationen finden Sie unter Laufzeitfehler.

ErrorLevel wird bei Misserfolg auf 1 und bei Erfolg auf 0 gesetzt.

A_LastError wird auf das Ergebnis der Systemfunktion GetLastError() gesetzt.

Bemerkungen

Wenn WertTyp auf REG_DWORD gesetzt wurde, sollte Wert zwischen -2147483648 und 4294967295 (0xFFFFFFFF) sein. In der Registry werden REG_DWORD-Werte immer als positive Dezimalzahlen dargestellt. Um diesen Wert als negative Zahl mit Mitteln wie RegRead zu lesen, können Sie sie mit AusgabeVar := AusgabeVar << 32 >> 32 oder ähnlichem in einen vorzeichenfähigen 32-Bit-Integer umwandeln.

Beim Schreiben eines REG_BINARY-Schlüssels muss eine Zeichenkette mit hexadezimalen Zeichen verwendet werden - z. B. kann ein REG_BINARY-Wert von 01,a9,ff,77 mit der Zeichenkette 01A9FF77 geschrieben werden.

Beim Schreiben eines REG_MULTI_SZ-Schlüssels müssen Sie jede Komponente mit einem Zeilenumbruchzeichen (`n) trennen. Bei der letzten Komponente können Sie das Zeilenumbruchzeichen weglassen. Leere Komponenten sind nicht erlaubt. Mit anderen Worten: Sie sollten vermeiden, zwei aufeinanderfolgende Zeilenumbrüche (`n`n) anzugeben, da dies dazu führt, dass ein Wert, der kürzer ist als erwartet, in die Registry geschrieben wird.

[v1.1.10.01+]: REG_BINARY- und REG_MULTI_SZ-Werte größer als 64 KB werden auch unterstützt. In älteren Versionen werden sie auf 64 KB gekürzt.

Mit der Registry-Schleife können mehrere Registry-Schlüssel und -Werte abgerufen und bearbeitet werden.

In den Bemerkungen zur Registry-Schleife finden Sie Hinweise, wie man auf die Registry eines Remotecomputers zugreifen kann.

Mit SetRegView können Einträge von den 64-Bit-Bereichen der Registry in einem 32-Bit-Skript oder umgekehrt gelesen und geschrieben werden.

RegDelete, RegRead, Registry-Schleife, SetRegView, IniWrite

Beispiele

Neue Syntax vs. alte Syntax.

Trotz der unterschiedlichen Syntax haben beide Beispiele den gleichen Effekt: Sie schreiben einen Wert in die Registry.

RegWrite, REG_SZ, HKEY_LOCAL_MACHINE\SOFTWARE\TestSchlüssel, MeinWertName, Testwert
RegWrite, REG_SZ, HKEY_LOCAL_MACHINE, SOFTWARE\TestSchlüssel, MeinWertName, Testwert

Schreibt binäre Daten in die Registry.

RegWrite, REG_BINARY, HKEY_CURRENT_USER\Software\TEST_APP, TEST_NAME, 01A9FF77

Schreibt eine mehrzeilige Zeichenkette in die Registry.

RegWrite, REG_MULTI_SZ, HKEY_CURRENT_USER\Software\TEST_APP, TEST_NAME, Zeile1`nZeile2