RegWrite

Schreibt einen Wert in die Registry.

RegWrite Wert, WertTyp, SchlüsselName , WertName
RegWrite Wert , WertTyp, , WertName

Parameter

Wert

Typ: Zeichenkette oder Integer

Der zu schreibende Wert. Lange Textwerte können via Fortsetzungsbereich in mehrere kurze Zeilen aufgeteilt werden, um die Übersichtlichkeit und Wartbarkeit eines Skripts zu verbessern.

WertTyp

Typ: Zeichenkette

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

WertTyp kann nur weggelassen werden, wenn SchlüsselName weggelassen wird und das aktuelle Element einer Registry-Schleife ein Wert ist, wie unten erwähnt.

SchlüsselName

Typ: Zeichenkette

Der vollständige Name des Registry-Schlüssels, z.B. "HKLM\Software\BeliebigeApp".

Der Name muss entweder mit 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) beginnen.

Um auf eine Remote-Registry zuzugreifen, stellen Sie den Computernamen und einen umgekehrten Schrägstrich voran, z.B. "\\workstation01\HKLM".

SchlüsselName kann nur weggelassen werden, wenn eine Registry-Schleife läuft - in diesem Fall wird standardmäßig der Schlüssel des aktuellen Schleifenelements verwendet. Wenn das Element ein Unterschlüssel ist, wird standardmäßig der vollständige Name dieses Unterschlüssels verwendet. Wenn das Element ein Wert ist, verwenden WertTyp und WertName standardmäßig den Typ bzw. den Namen dieses Wertes, können aber überschrieben werden.

WertName

Typ: Zeichenkette

Wenn leer oder weggelassen, wird der Standardwert des Schlüssels verwendet (außer wie oben erwähnt) - das ist der Wert, den RegEdit als "(Standard)" anzeigt. Andernfalls geben Sie den Namen des zu schreibenden Wertes an.

Fehlerbehandlung

Bei Misserfolg wird ein OSError ausgelöst.

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

Bemerkungen

Wenn SchlüsselName einen nicht-existierenden Unterschlüssel angibt, versucht RegWrite, ihn zu erstellen (einschließlich seiner Elternelemente, falls nötig). Obwohl RegWrite direkt in einen Root-Schlüssel schreiben kann, weigern sich einige Betriebssysteme, in die oberste Ebene von HKEY_CURRENT_USER zu schreiben.

Mit RegCreateKey kann ein Schlüssel erstellt werden, ohne dass Werte in den Schlüssel geschrieben werden.

Wenn WertTyp REG_DWORD ist, muss für Wert eine Zahl zwischen -2147483648 und 4294967295 (0xFFFFFFFF) angegeben werden. REG_DWORD-Werte sind in der Registry immer positive Dezimalzahlen. Um einen REG_DWORD-Wert als negative Zahl mit Mitteln wie RegRead zu lesen, wandeln Sie ihn mit AusgabeVar := AusgabeVar << 32 >> 32 o.ä. in einen vorzeichenfähigen 32-Bit-Integer um.

Wenn ein REG_BINARY-Schlüssel geschrieben wird, muss eine Zeichenkette aus hexadezimalen Zeichen angegeben werden, wie z.B. 01A9FF77 für den REG_BINARY-Wert 01,a9,ff,77.

Wenn ein REG_MULTI_SZ-Schlüssel geschrieben wird, müssen alle Komponenten mit einem Zeilenvorschubzeichen (`n) voneinander getrennt werden. Die letzte Komponente darf ebenfalls mit einem Zeilenvorschub enden. Leere Komponenten sind nicht erlaubt. Mit anderen Worten, vermeiden Sie zwei aufeinanderfolgende Zeilenvorschübe (`n`n), um zu verhindern, dass ein unerwartet kurzer Wert in die Registry geschrieben wird.

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

In den Bemerkungen zur Registry-Schleife finden Sie Informationen darüber, wie auf die Registry eines Remote-Computers zugegriffen werden kann.

Um Einträge in den 64-Bit-Bereichen der Registry mit einem 32-Bit-Skript (oder umgekehrt) zu lesen und zu schreiben, verwenden Sie SetRegView.

RegCreateKey, RegDelete, RegDeleteKey, RegRead, Registry-Schleife, SetRegView, IniWrite

Beispiele

Schreibt eine Zeichenkette in die Registry.

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

Schreibt Binärdaten in die Registry.

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

Schreibt eine mehrzeilige Zeichenkette in die Registry.

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