@echo off
cd /d %~dp0

rem WindowsタスクスケジューラにNASBackupTaskを登録する
rem 引数：SVPプログラムのインストールディレクトリ

set INSTDIR=%1
set SCNAME="HitachiDeviceManager-NASConfigBackup"
set XMLNAME=nasbackuptask.xml
set EXEPATH=%INSTDIR%\wk\supervisor\nasbackup\ManageNASBackup.exe
set BKUPGENE=5
set BKUPDIR=%INSTDIR%\wk\supervisor\nasbackup
set TRCLOGDIR=%INSTDIR%\wk\supervisor\nasbackup\log
set TRCFILE=%INSTDIR%\wk\supervisor\nasbackup\log\nasbackupbatdump.txt

rem トレースログファイルの存在確認（引数確認も兼ねる）
if not EXIST %TRCLOGDIR% (
  set TRCFILE="log\nasbackupbatdump.txt"
  GOTO ERROR
)

echo %date% %time% [%0] Start. >> %TRCFILE%

rem タスクが登録済みかどうか確認
echo %date% %time% [%0] Schtasks /Query /tn %SCNAME% >> %TRCFILE%
Schtasks /Query /tn %SCNAME% 2>> %TRCFILE%
if %ERRORLEVEL%==0 (
  echo %date% %time% [%0] INFO:NASCongifigBackupTask is already registered.>> %TRCFILE%
  CALL :ENABLE
  GOTO END
)
echo %date% %time% [%0] INFO:NASCongifigBackupTask is not registered.>> %TRCFILE%

rem EXEファイルが格納されているか確認
if not exist "%EXEPATH%" (
  echo %date% %time% [%0] ERROR:Failed to find nasbackup.exe>> %TRCFILE%
  GOTO ERROR
)

rem タスクをXMLファイルから読み込み
echo %date% %time% [%0] Schtasks /Create /tn %SCNAME% /XML %XMLNAME% /F >> %TRCFILE%
Schtasks /Create /tn %SCNAME% /XML %XMLNAME% /F 2>> %TRCFILE%
if ERRORLEVEL 1 (
  echo %date% %time% [%0] ERROR:Failed to register NASCongifigBackupTask.>> %TRCFILE%
  GOTO ERROR
)
rem echo %date% %time% [%0] INFO:Succeeded to register NASCongifigBackupTask.>> %TRCFILE%

rem 引数の設定
echo %date% %time% [%0] Schtasks /Change /tn %SCNAME% /TR "%EXEPATH% %BKUPGENE% %BKUPDIR%" >> %TRCFILE%
Schtasks /Change /tn %SCNAME% /TR "%EXEPATH% %BKUPGENE% %BKUPDIR%" 2>> %TRCFILE%
if ERRORLEVEL 1 (
  echo %date% %time% [%0] ERROR:Failed to register arguments of the Task.>> %TRCFILE%
  GOTO ERROR
)
rem echo %date% %time% [%0] Succeeded to register arguments of the Task.>> %TRCFILE%
CALL :ENABLE
GOTO END


:ENABLE
echo %date% %time% [%0] Schtasks /Change /tn %SCNAME% /ENABLE >> %TRCFILE%
Schtasks /Change /tn %SCNAME% /ENABLE 2>> %TRCFILE%
if ERRORLEVEL 1 (
  echo %date% %time% [%0] ERROR:Failed to enable NASConfigBackupTask.>> %TRCFILE%
  GOTO ERROR
)
rem echo %date% %time% [%0] INFO:Succeeded to enable NASConfigBackupTask.>> %TRCFILE%
exit /b 0

:ERROR
echo %date% %time% [%0] ERROR END.>> %TRCFILE%
exit /b 1

:END
echo %date% %time% [%0] END.>> %TRCFILE%
exit /b 0
