Windowsバッチファイル

バッチファイルでレジストリを操作する【reg add・query・deleteの使い方】

Windowsバッチファイル
記事内に広告が含まれています。

バッチファイルからWindowsのレジストリを操作できます。regコマンドを使って設定の読み書き・変更・削除を行う方法を解説します。

regコマンドの種類

コマンド説明
reg query キーレジストリの値を読み取る
reg add キー /v 名前 /t 型 /d 値レジストリに値を追加・変更する
reg delete キー /v 名前レジストリの値を削除する
reg export キー ファイル.regレジストリをファイルに書き出す
reg import ファイル.regregファイルをインポートする

レジストリの値を読み取る(reg query)

@echo off
rem コンピューター名を取得
reg query "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName

rem デスクトップの壁紙パスを取得
reg query "HKCU\Control Panel\Desktop" /v Wallpaper

レジストリに値を書き込む(reg add)

@echo off
rem 文字列値を書き込む(/t REG_SZ)
reg add "HKCU\Software\MyApp" /v Version /t REG_SZ /d "1.0.0" /f

rem 数値(DWORD)を書き込む
reg add "HKCU\Software\MyApp" /v EnableFeature /t REG_DWORD /d 1 /f

rem レジストリの値を確認
reg query "HKCU\Software\MyApp"

レジストリの値を取得して変数に格納

@echo off
for /f "tokens=3" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName') do (
    set OS_NAME=%%a
)
echo Windowsバージョン: %OS_NAME%

注意事項

レジストリの誤った変更はWindowsの動作に影響します。必ず事前に reg export でバックアップを取ってから変更しましょう。HKLMへの書き込みは管理者権限が必要です。

まとめ

  • reg queryでレジストリの値を読み取れる
  • reg add /fで確認なしに値を書き込める(/fは上書き強制)
  • for /fと組み合わせてレジストリの値を変数に格納できる
  • 変更前に必ずreg exportでバックアップを取ること

コメント

タイトルとURLをコピーしました