読者です 読者をやめる 読者になる 読者になる
スポンサーリンク

バッチで,レジストリの値の読み取り・書き込み・存在判定をしよう(WSH/JScriptでレジストリ操作のサンプルコード)

windows hack WSH/JScript


WSH/JScriptで,

  • レジストリのキーの存在判定
  • レジストリの値の読み取り
  • レジストリの値の書き込み,新規作成

をするためのサンプルコード。

サンプルコード

reg.js

// 対象とするレジストリのキー
var reg_key = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows Script Host\\Settings\\Remote";


// 読み取り
if( reg_key_exists( reg_key ) )
{
	WScript.Echo(
		reg_key
		 + "の値は"
		 + read_reg_value( reg_key ) 
	);
}
else
{
	WScript.Echo(
		reg_key
		 + "は存在しません。"
	);
}


// 書き込み
// write_reg_value( reg_key, "1", "REG_SZ" );




// キーが存在するか
function reg_key_exists( reg_key )
{
	var ws = WScript.CreateObject("WScript.Shell");
	try
	{
		// 読み取り成功すれば,キーが存在するとみなす
		ws.RegRead( reg_key );
		
		return true;
	}
	catch(e)
	{
		// 存在しないキー
			//WScript.Echo( e.message );
		return false;
	}
}


// 値を読み取り
function read_reg_value( reg_key )
{
	var ws = WScript.CreateObject("WScript.Shell");
	return ws.RegRead( reg_key );
}


// 値を書き込み(新規作成または更新)
function write_reg_value( reg_key, reg_value, data_type )
{
	var ws = WScript.CreateObject("WScript.Shell");
	
	// キーが存在しない場合はキーが新規作成され,値も正常に書き込まれる
	ws.RegWrite( reg_key, reg_value, data_type );
}

参考資料

WSHでレジストリの読み書きを行う Internet Explorerのホーム・ページ設定を変更する
http://www.atmarkit.co.jp/fwin2k/win2...


値がレジストリに存在するかどうかを確認することはできますか
http://www.microsoft.com/japan/techne...