RegWrite メソッド
新しいキーの作成、新しい値名の既存キーへの追加 (および値の設定)、既存の値名の値変更などを行います。
object
.RegWrite(
strName, anyValue [,strType])
引数
- object
WshShell オブジェクトです。 - strName
作成、追加、変更するキー名、値名、または値を示す文字列値です。 - anyValue
作成するキーの名前、既存のキーに追加する値の名前、または既存の値名に設定する値です。 - strType
省略可能です。レジストリに保存する値のデータ型を指定します。
解説
キー名を指定する場合は strName の最後にバックスラッシュを付けます。値名を指定する場合にバックスラッシュを付けないでください。RegWrite メソッドはパラメータ anyValue を文字列または整数に自動変換します。strType の値によってデータ型 (文字列 (string) または整数 (integer)) が決まります。次の表は、strType のオプションを一覧したものです。
変換後のデータ型 | strType |
---|---|
文字列 | REG_SZ |
文字列 | REG_EXPAND_SZ |
整数 | REG_DWORD |
文字列 | REG_BINARY |
メモ REG_MULTI_SZ 型は RegWrite メソッドではサポートされていません。
メモ RegWrite は最大で 1 つの DWORD を REG_BINARY 値に書き込みます。DWORD より大きい値はこのメソッドではサポートされていません。
完全修飾のキー名または値名の先頭にはルート キーが付加されます。RegWrite メソッドでは省略形のルート キー名を使用できます。次の表は、5 つのルート キーを一覧したものです。
ルート キー名 | 短縮形 |
---|---|
HKEY_CURRENT_USER | HKCU |
HKEY_LOCAL_MACHINE | HKLM |
HKEY_CLASSES_ROOT | HKCR |
HKEY_USERS | HKEY_USERS |
HKEY_CURRENT_CONFIG | HKEY_CURRENT_CONFIG |
次の表は、strType に指定できる 4 つのデータ型を一覧したものです。
型 | 説明 | 形式 |
---|---|---|
REG_SZ | 文字列です。 | 文字列 |
REG_DWORD | 数値です。 | 整数 |
REG_BINARY | 2 進数の値です。 | 整数 |
REG_EXPAND_SZ | 展開可能な文字列です。 (例 : "%windir%\\calc.exe") |
文字列 |
使用例
次のコードは、1 つのキーと 2 つの値を作成し、それらを読み込み、最後に削除します。
VBScript
Dim WshShell, bKey
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\Software\ACME\FortuneTeller\", 1, "REG_BINARY"
WshShell.RegWrite "HKCU\Software\ACME\FortuneTeller\MindReader", "Goocher!", "REG_SZ"
bKey = WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\")
WScript.Echo WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\MindReader")
WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\MindReader"
WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\"
WshShell.RegDelete "HKCU\Software\ACME\"
JScript
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\", 1, "REG_BINARY");
WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader", "Goocher!", "REG_SZ");
var bKey = WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\");
WScript.Echo (WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader"));
WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader");
WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\");
WshShell.RegDelete ("HKCU\\Software\\ACME\\");