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\\");

参照

WshShell オブジェクト | RegDelete メソッド | RegRead メソッド