@ECHO OFF

REM   **********************************************************************
TITLE Opera バックアップ
REM   ※異なるOS(XP -> Windows7等)にレストアする場合は、フォルダ構造が違うため、operaprefs.ini を上書きしない方が良い
REM   ※Opera Mailは使っていないためバックアップしない(コメントアウト)
REM   
REM   [入力パラメータ]
REM   %1　：　パラメータ1
REM   
REM   [標準出力]
REM   0　：　正常終了
REM   1　：　異常終了
REM
REM   $Revision:$
REM   **********************************************************************

SETLOCAL

REM 共通設定
SET LogDate=%date:~0,4%%date:~5,2%%date:~8,2%
SET LogTime=%time:~0,8%
SET LogTime=%LogTime: =0%
SET LogTime=%LogTime:~0,2%%LogTime:~3,2%%LogTime:~6,2%
SET LogPath=.\log
SET opera_config=%userprofile%\Application Data\Opera\Opera

REM 標準出力抑制ログファイル名
SET LogFile=%LogDate%_%LogTime%%~n0%.log

REM 入力パラメータのチェック
rem IF "%1" EQU "" (GOTO :ERROR) ELSE (SET PARAM=%1)
IF "%1" EQU "" (SET PARAM=%LogDate%) ELSE (SET PARAM=%1)
set backup_to=%PARAM%\opera\

SET LogPath=%PARAM%
IF NOT EXIST %LogPath% (md %LogPath%)

REM ここに処理を記述
IF NOT EXIST %backup_to% (md %backup_to%)

rem %~n0%.log を付けるとなぜかファイルが作られない
echo -- copy from %opera_config% >>%LogPath%\%LogFile% 2>&1
echo -- %date% %time% >>%LogPath%\%LogFile% 2>&1

rem -- ファイル --

rem コンテンツのブロック
xcopy /y /h /k "%opera_config%\urlfilter.ini" "%backup_to%" >>%LogPath%\%LogFile% 2>&1

rem ブックマーク
xcopy /y /h /k "%opera_config%\bookmarks.adr" "%backup_to%" >>%LogPath%\%LogFile% 2>&1

rem 認証機関情報
xcopy /y /h /k "%opera_config%\opcacrt6.dat" "%backup_to%" >>%LogPath%\%LogFile% 2>&1

rem アドレス帳
xcopy /y /h /k "%opera_config%\contacts.adr" "%backup_to%" >>%LogPath%\%LogFile% 2>&1

rem 一般設定
xcopy /y /h /k "%opera_config%\operaprefs.ini" "%backup_to%" >>%LogPath%\%LogFile% 2>&1

rem メモ
xcopy /y /h /k "%opera_config%\notes.adr" "%backup_to%" >>%LogPath%\%LogFile% 2>&1

rem 個人証明書
xcopy /y /h /k "%opera_config%\opcert6.dat" "%backup_to%" >>%LogPath%\%LogFile% 2>&1

rem 検索
xcopy /y /h /k "%opera_config%\search.ini" "%backup_to%" >>%LogPath%\%LogFile% 2>&1

rem サイトごとの設定
xcopy /y /h /k "%opera_config%\override.ini" "%backup_to%" >>%LogPath%\%LogFile% 2>&1

rem スピードダイヤル
xcopy /y /h /k "%opera_config%\speeddial.ini" "%backup_to%" >>%LogPath%\%LogFile% 2>&1

rem 認証管理データ
xcopy /y /h /k "%opera_config%\wand.dat" "%backup_to%" >>%LogPath%\%LogFile% 2>&1

rem Opera ウィジェット
xcopy /y /h /k "%opera_config%\widgets.adr" "%backup_to%" >>%LogPath%\%LogFile% 2>&1

rem -- /ファイル --

rem -- フォルダ --

rem メール、ニュースグループ、チャット、フィード
rem xcopy /y /s /h /k "%opera_config%\mail" "%backup_to%mail\" >>%LogPath%\%LogFile% 2>&1

rem セッション
xcopy /y /s /h /k "%opera_config%\sessions" "%backup_to%sessions\" >>%LogPath%\%LogFile% 2>&1

rem スキン
xcopy /y /s /h /k "%opera_config%\skin" "%backup_to%skin\" >>%LogPath%\%LogFile% 2>&1

rem キーボードショートカット
xcopy /y /s /h /k "%opera_config%\keyboard" "%backup_to%keyboard\" >>%LogPath%\%LogFile% 2>&1

rem マウスジェスチャー
xcopy /y /s /h /k "%opera_config%\mouse" "%backup_to%mouse\" >>%LogPath%\%LogFile% 2>&1

rem メニュー設定
xcopy /y /s /h /k "%opera_config%\menu" "%backup_to%menu\" >>%LogPath%\%LogFile% 2>&1

rem ツールバー設定
xcopy /y /s /h /k "%opera_config%\toolbar" "%backup_to%toolbar\" >>%LogPath%\%LogFile% 2>&1

rem Opera ウィジェット設定
xcopy /y /s /h /k "%opera_config%\widgets" "%backup_to%widgets\" >>%LogPath%\%LogFile% 2>&1

rem -- /フォルダ --

REM ここまでが処理

REM 正常終了
rem RD %LogPath% /Q /S
ENDLOCAL
ECHO ON
EXIT 0

REM エラー処理
:ERROR
IF NOT EXIST %LogPath% (md %LogPath%)
ECHO エラーが発生しました。    >> "%LogPath%\%LogFile%"
ECHO [出力パスを指定して下さい]     >> "%LogPath%\%LogFile%"
GOTO :FINALIZE

:INPUT_ERROR
ECHO 入力に誤りがありました。  >> "%LogPath%\%LogFile%"

:FINALIZE
ENDLOCAL
ECHO ON
exit 1
