Loop (レジストリ)

提供: AutoHotkey Wiki
移動: 案内検索

実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 | キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル | レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト

Loop (レジストリ)[編集]

指定キー以下のレジストリキーそれぞれに対して繰り返し処理を行う。

Loop, RootKey [, Key, IncludeSubkeys?, Recurse?]

Parameters[編集]

引数名 説明
RootKey HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_USER HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIGのどれか。 HKLMのような短縮名も可能。
リモートのレジストリにアクセスしたい場合、 \\workstation01:HKEY_LOCAL_MACHINEのようにコンピュータ名と :をつける。
Key 親キー名。
例えば Software\SomeApplication
省略時はRootKey以下のキーが処理される。
IncludeSubkeys? デフォルトは 0
0 値のみを処理。
1 値とサブキー。
2 サブキーのみ。
Recurse? デフォルトは 0
0 サブキー内のキーは対象にならない。
1 サブキー内のキーも対象になる。

Remarks[編集]

対象となっているキーの情報は、下記の変数として参照できる。

A_LoopRegName 対象となっている値やサブキーの名前。
RegEdit.exeで (規定)となっている値の場合、空になる。
A_LoopRegType サブキーの場合 KEYとなる。
値の場合、 REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ, REG_DWORD, REG_QWORD, REG_BINARY, REG_LINK, REG_RESOURCE_LIST, REG_FULL_RESOURCE_DESCRIPTOR, REG_RESOURCE_REQUIREMENTS_LIST, REG_DWORD_BIG_ENDIAN のどれかになる。
これらのどれでも無いタイプのキーだった場合、空になる。
A_LoopRegKey 対象となっているルートキーの名前。( HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG) リモートのレジストリでも、コンピュータ名は含まない。
A_LoopRegSubKey 対象となっている項目のサブキーのパス。
A_LoopRegTimeModified キーの最終更新日時。YYYYMMDDHH24MISS形式。
NT系で、対象がサブキーの場合以外は空。

下記のコマンドをレジストリループ内で実行する場合、対象キーを省略できる。

RegRead, OutputVar 現在の項目の値を変数に読み出す。
項目がサブキーだった場合、ErrorLevel1になり、OutputVarは空になる。
RegWrite [, Value] 現在の項目に値を書き込む。
Valueが省略された場合、値は 0もしくは空になる。
項目がサブキーだった場合、ErrorLevel1になる。
RegDelete 項目を削除する。
項目がサブキーだった場合、以下の全ての項目が削除される。

その他の仕様は、通常のLoopと同様。

リモートマシンのレジストリの扱いに関する説明は割愛する。

Related[編集]

Loop, Break, Continue, Blocks, RegRead, RegWrite, RegDelete

Example(s)[編集]

Loop, HKEY_CURRENT_USER, Software\Microsoft\Windows, 1, 1
{
  If A_LoopRegType = key
    value =
  Else
  {
    RegRead, value
    If ErrorLevel <> 0
      value = *error*
  }
  MsgBox, 4, , %A_LoopRegName% = %value% (%A_LoopRegType%)`n`nContinue?
  IfMsgBox, NO, Break
}