レジストリ値の確認や変更を行うスクリプト
Windows のレジストリは regedit
で起動する GUI ベースのレジストリエディタで参照・変更するのが一般的。しかし、特定のレジストリを何度も変更するような場合は、手作業でキーの階層まで下って操作することになり、大変手間だ (誤操作を防ぐためなのか、アドレスバーのような機能もないし)。
そこで次に出てくるのが、.reg
という拡張子の登録エントリファイルを作り、決められた書式に沿って変更内容を書くことで、その内容でレジストリが変更できるというもの。しかし、.reg
ファイルはレジストリの変更のみで、参照はできない。
ということで、今回紹介するのは、Windows コマンドプロンプト、および VBScript で、レジストリキーを参照したり変更したりする方法だ。一発確認するだけなら Windows コマンド、複雑なスクリプト処理の中でレジストリをアレコレしたいなら VBScript、というように使い分けてもらえればと思う。
Windows コマンドからのレジストリキーの参照・変更
Rem レジストリキーを確認する
Reg Query HKLM\SYSTEM\...\ /v KeyName
Rem レジストリキーを追加・もしくは値を変更する
Reg Add HKLM\SYSTEM\...\ /v KeyName /t REG_DWORD /d 1 /f
VBScript からのレジストリキーの参照・変更
Dim shell : Set shell = WScript.CreateObject("WScript.Shell")
' エラー時のために初期値として文言を入れておく
Dim query
query = "Cannot find the key."
' レジストリキーを確認する
On Error Resume Next
query = shell.RegRead("HKLM\SYSTEM\...\KeyName")
WScript.Echo(query)
' レジストリキーを追加・もしくは値を変更する
shell.RegWrite "HKLM\SYSTEM\...\KeyName", 1, "REG_DWORD"
- 参考 : レジストリを操作する