Programming Field

Reg Import - DOS/コマンドプロンプト コマンド一覧

[Windows NT系/XP 以降] ファイル(.reg ファイル)に保存されたデータをインポートします。Regの操作の1つです。

このページではWindowsのレジストリを書き換えることができるコマンドを扱っています。レジストリにはWindowsの重要な設定も含まれているため、レジストリに対する操作は慎重に行ってください。レジストリの操作にあまり慣れていないときは事前のバックアップを強く推奨します。また、不用意にいろいろなデータの書き換えを行うとWindowsが正常に起動しなくなる原因となります。なお、このページにある内容を利用して生じた問題の責任は負いかねます。

Reg Restoreと異なり、このコマンドの実行にバックアップ権限(SeBackupPrivilege)や復元権限(SeRestorePrivilege)は必要ありません。

構文

reg[.exe] import <file-name> [/reg:[32|64]]

※ 引数に「キー」はなく、「ファイル」と追加オプションのみ指定します。これはファイルのデータ自体にインポート先のキー名が含まれるためです。

オプション一覧

<file-name> データ読み込み元のファイル名を指定します。通常は .reg ファイルを指定します。
/reg:[32|64]

64ビット版と32ビット版(WOW64)の環境がある場合、「/reg:32」を指定すると32ビット版アプリケーションが使用するレジストリデータ(HKLMの場合は「HKLM\Software\WOW6432Node」以下など)、「/reg:64」を指定すると64ビット版アプリケーションが使用するレジストリデータを参照します。

なおこのオプションを省略した場合は、実行されるReg.exeが64ビット版であれば64ビット版、32ビット版(%SystemRoot%\SysWOW64 以下にあるもの)であれば32ビット版のレジストリを参照します。何らかのアプリケーションのレジストリデータを参照する場合は、そのアプリケーションの32ビット/64ビットが分かっているのであれば明示的にこのオプションを指定して曖昧さを回避することができます。

※ Reg.exeが32ビット版であっても「/reg:64」によって64ビット版のレジストリを参照することができます。
※ 64ビット版Reg.exeであれば、32ビット版のレジストリを参照する際に直接「HKLM\Software\WOW6432Node」以下などのキーを指定することも可能です。

解説

Regの「IMPORT」コマンドは、.reg ファイル(登録エントリファイル)に保存されたレジストリの値やキーをインポートする際に用います。インポート先のキー名や値名はファイルに直接記述されており、必然的にローカルコンピューター上のレジストリにインポートされることとなります。また、ファイルのデータにはアクセス権などの情報を持たせることができないこともあり、必然的にReg Restoreによる読み込みとは異なる役割を持ちます。なお、インポート内容のキー名等が既にレジストリ上に存在する場合は逐次上書きされます(確認表示はありません)。

※ 「バックアップ」「復元」の用途には「Reg Save」と「Reg Restore」を組み合わせるのが適しています。

なお、読み込む .reg ファイルは「Reg Export」で出力するほか「レジストリ エディター」の「エクスポート」機能が利用でき、またテキスト形式であるため、正しい書式であれば手入力で作成することもできます。

※ .reg ファイルの形式にはいくつかのバージョンがありますが、初期バージョンの形式(ファイル先頭が「REGEDIT」であるもの)を持つデータもインポートすることができます。ただし初期バージョンは「HKEY_CLASSES_ROOT」しか使えないため、現在のWindowsではほとんど役に立ちません。

サンプル

reg import MySettings.reg

「MySettings.reg」ファイル内のデータをインポートします。インポート先のキーを事前に作成するなどの準備を行う必要がありません。

なお、コマンド実行時にインポートするかどうかの確認メッセージは表示されません。GUIのメッセージボックスで確認メッセージを表示したい場合は、代わりに「regedit MySettings.reg」と実行します(必要に応じてUACによる権限昇格が行われます)。