Programming Field

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

[Windows NT系/XP 以降] 指定したレジストリキー以下にあるサブキーや値全てをテキスト形式のファイルに書き出します。Regの操作の1つです。

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

構文

reg[.exe] save <key> <file-name> [/y] [/reg:[32|64]]

オプション一覧

<key>

キー名を指定します。具体的な指定方法は「キー名の指定方法について」をご覧ください。ただし本コマンドについてはローカルコンピューターのキーに対してのみ操作を行うことができます。

なお、キー名は完全パスで指定しますが、キーが存在しない場合はエラーとなります。

<file-name> データの保存先ファイル名を指定します。通常は拡張子を「.reg」とします。
/y <file-name> に指すファイルが存在する場合でもプロンプトを表示せずに上書きして保存します。/y を省略した場合、ファイルが存在したときに上書きするかどうかを尋ねるプロンプトを表示します。
/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の「EXPORT」コマンドはレジストリ内の値やキーをテキスト形式でファイルに書き出す際に用います。ここで書き出したファイルデータはいわゆる「.reg」形式(登録エントリファイル)のテキストファイルであり、Reg Importおよび「レジストリ エディター」(Windows 2000?以降)の「インポート」で使用することができます。

「Reg Save」で出力される形式(ハイブデータ)と異なるため、「Reg Restore」「Reg Load」で用いることは出来ません。

なお、Reg ExportとReg Saveは処理内容が似ていますが、Reg Exportによって保存されるデータには、サブキーや値、および値の種類に限られ、キー自身およびサブキーのアクセス許可や所有者の情報は含まれません。そのため、「Reg Export」で書き出したデータを「Reg Import」で読み込んでも、厳密な意味でのバックアップ・復元を行うことは出来ません。一方で .reg ファイルはテキスト形式であるため、(バイナリ形式であるハイブデータと比べて)メモ帳などで表示・編集が可能であるなど取り扱いが容易であるため、状況によって使い分けられます。

サンプル

reg export "HKCU\Software\My Company\Pure Program" MySettings.reg

HKEY_CURRENT_USER\Software\My Company\Pure Program」キーに含まれるデータをファイル「MySettings.reg」に保存します。例として、この内容を「カスタマイズされた初期値」として他のコンピューター上にコピー・インポートするといった利用方法が考えられます。

※ 「Reg Save」でこれと同等の操作を行おうとすると、出力データに権限や所有者情報なども含まれてしまい、「Reg Restore」自体に失敗する、あるいは成功したとしても操作できないキーになり得るなど意図しない結果になる可能性があります。