Windowsのシステム設定を変更したり、自動化したりする際に「レジストリ(Registry)」の編集が必要になることがあります。
通常、レジストリエディター(regedit)を使いますが、バッチスクリプトで処理を自動化したい場合は**「regコマンド」**が便利です。
regコマンドを使えば、レジストリのキーや値の取得、追加、変更、削除がコマンドライン上で簡単に実行できます。
本記事では、Windowsのバッチファイルで使えるregコマンドの基本から応用までを詳しく解説します。
具体的な使用例を交えて、レジストリ操作をスムーズに行う方法を学んでいきましょう。
Windowsのレジストリ(Registry)は、OSやアプリケーションの設定情報を保存するデータベースです。
通常、GUIの「レジストリエディター(regedit)」を使って編集しますが、コマンドラインやバッチファイルで操作する場合はregコマンドを使用します。
regコマンドを使うメリット:
次に、regコマンドの基本構文を見ていきましょう。
regコマンドは、以下の形式で使用します。
reg [操作] [オプション] [パラメータ]
主な操作(サブコマンド)は以下の通りです:
コマンド | 説明 |
---|---|
reg query | 指定したレジストリキーや値を取得 |
reg add | レジストリキーや値を追加 |
reg delete | レジストリキーや値を削除 |
reg copy | レジストリキーや値をコピー |
reg export | レジストリのデータをファイルに保存 |
reg import | ファイルからレジストリを復元 |
reg compare | 2つのレジストリキーを比較 |
reg save | レジストリキーをファイルに保存 |
reg restore | 保存したレジストリを復元 |
reg load | ハイブファイルを読み込む |
reg unload | ハイブファイルを削除 |
次に、それぞれの操作方法を詳しく解説します。
レジストリ内の特定のキーや値を取得するコマンドです。
reg query [キーのパス] [/v 値名 | /s]
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion" /v ProgramFilesDir
出力例
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
ProgramFilesDir REG_SZ C:\Program Files
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion" /s
新しいレジストリキーや値を追加・変更するコマンドです。
reg add [キーのパス] /v 値名 /t データ型 /d データ [/f]
reg add "HKEY_CURRENT_USER\Software\MyApp" /v Setting1 /t REG_SZ /d "TestValue" /f
ポイント:
/t REG_SZ
→ 文字列値(REG_SZ)/d "TestValue"
→ 設定するデータ/f
→ 確認なしで実行(なければエラーを防ぐ)レジストリのキーや値を削除するコマンドです。
reg delete [キーのパス] [/v 値名 | /va] [/f]
reg delete "HKEY_CURRENT_USER\Software\MyApp" /v Setting1 /f
reg delete "HKEY_CURRENT_USER\Software\MyApp" /f
レジストリのバックアップや復元に使用します。
reg export "HKEY_CURRENT_USER\Software\MyApp" C:\Backup\myapp.reg /y
reg import C:\Backup\myapp.reg
レジストリキーを別の場所にコピーするコマンドです。
reg copy [元キーのパス] [コピー先キーのパス] [/s] [/f]
reg copy "HKEY_LOCAL_MACHINE\SOFTWARE\MyApp" "HKEY_LOCAL_MACHINE\SOFTWARE\MyAppBackup" /s /f
2つのレジストリキーを比較し、違いを表示するコマンドです。
reg compare [キーのパス1] [キーのパス2] [/v 値名]
reg compare "HKEY_LOCAL_MACHINE\SOFTWARE\MyApp" "HKEY_LOCAL_MACHINE\SOFTWARE\MyAppBackup" /s
regコマンドをバッチスクリプトで活用すれば、レジストリの変更を自動化できます。
@echo off
reg add "HKEY_CURRENT_USER\Software\MyApp" /v Setting1 /t REG_SZ /d "AutoConfig" /f
exit
このバッチを「スタートアップ」に入れれば、ログイン時に自動実行できます。
Windowsのregコマンドを使えば、レジストリの操作をバッチスクリプトで簡単に管理できます。
reg query
→ レジストリの値を取得reg add
→ 新しいキーや値を追加reg delete
→ キーや値を削除reg export
& reg import
→ レジストリのバックアップ&復元reg compare
→ 2つのレジストリを比較バッチスクリプトと組み合わせることで、レジストリ管理を自動化できるので、ぜひ活用してください!