Windows – レジストリをバッチでバックアップ!
Updated:
今日は、Windowsで「 レジストリ情報 」をバッチでバックアップすることについてです。
Windows使っている方で、レジストリをバックアップされている方もおられると思います。
大抵は、レジストリエディタ「 regedit 」を開いてGUIでエクスポートとかされている思います。 滅多にしないことなんで、別にそれでも十分なんですけど。。。
僕はバッチ処理させています。
いちいち、レジストリエディタを開かずに、バッチファイルを実行させるだけでできるようにしています。
【概要】 レジストリの5種類のルートキーごとにエクスポートし、それらをLZh圧縮して、ファイル名に日付・時刻を付加して保存。
バッチファイル例 [ 任意のファイル名.bat ]
@TITLE ■ BackUp Registory...
@REM **** 環境変数設定
@SET BAK_DATA=D:\20_BAK\Reg\ExpData\
@SET BAK_LZH=D:\20_BAK\Reg\
@SET BAKDATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
@SET BAKTIME=%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
@IF "%TIME:~0,1%"==" " SET BAKTIME=0%TIME:~1,1%%TIME:~3,2%%TIME:~6,2%
@SET LOGFILE=D:\03_Bat\Log\BAK_REG.log
@REM **** エクスポートデータを一旦削除
@ECHO DELETE EXP_DATA ...
@DEL /Q %BAK_DATA%*.* ← 上書きできないので、一旦ファイルを削除
@ECHO.
@REM **** レジストリのエクスポート
@ECHO EXPORT REG HKCR ...
@REG EXPORT HKCR %BAK_DATA%EXP_HKCR.reg ← HKEY_CLASSES_ROOT をエクスポート
@ECHO.
@ECHO EXPORT REG HKCU ...
@REG EXPORT HKCU %BAK_DATA%EXP_HKCU.reg ← HKEY_CURRENT_USER をエクスポート
@ECHO.
@ECHO EXPORT REG HKLM ...
@REG EXPORT HKLM %BAK_DATA%EXP_HKLM.reg ← HKEY_LOCAL_MACHINE をエクスポート
@ECHO.
@ECHO EXPORT REG HKU ...
@REG EXPORT HKU %BAK_DATA%EXP_HKU.reg ← HKEY_USERS をエクスポート
@ECHO.
@ECHO EXPORT REG HKCC ...
@REG EXPORT HKCC %BAK_DATA%EXP_HKCC.reg ← HKEY_CURRENT_CONFIG をエクスポート
@IF NOT ERRORLEVEL==0 GOTO :BAK_ERR
@REM **** 圧縮保存
@C:
@CD "C:\Program Files\ArchiverDll\UNLHA32"
C:\PROGRA~1\UNDLL\UNLHA32 a -rd %BAK_LZH%REG_%BAKDATE%_%BAKTIME% %BAK_DATA% *.*
@IF NOT ERRORLEVEL==0 GOTO :BAK_ERR
:BAK_END
@SET BAKDATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
@SET BAKTIME=%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
@IF "%TIME:~0,1%"==" " SET BAKTIME=0%TIME:~1,1%%TIME:~3,2%%TIME:~6,2%
@ECHO ■■■■ BACKUP E N D [ %BAKDATE% %BAKTIME% ] ■■■■(正常終了) >> %LOGFILE%
@ECHO. >> %LOGFILE%
@EXIT /B
:BAK_ERR
@SET BAKDATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
@SET BAKTIME=%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
@IF "%TIME:~0,1%"==" " SET BAKTIME=0%TIME:~1,1%%TIME:~3,2%%TIME:~6,2%
@ECHO ■■■■ BACKUP E N D [ %BAKDATE% %BAKTIME% ] ■■■■(異常終了) >> %LOGFILE%
@ECHO [ ERRORLEVEL = %ERRORLEVEL% ] >> %LOGFILE%
@ECHO. >> %LOGFILE%
@EXIT /B
今回は、ルートキーごとにエクスポートしていますが、サブキーも指定するができます。
ただ、最近あんまりこのバッチは動かしていなかったんで、一部エラーが出るところがあって、ちょっとショック!!
ルートキー「 HKLM ( HKEY_LOCAL_MACHINE ) 」の中で、何かがアクセス拒否される。
なぜだろう? 調べてみます。
わかったら、ご報告します!
じゃ、また
Comments