@echo off
setlocal

set "APP_LOG=C:\system.sav\logs\winhook.log"
set "REG_KEY_ROOT=HKLM\SOFTWARE"
set "REG_RELATIVE_PATH=Microsoft\Windows\CurrentVersion\Run"
set "REG_V_T_D=[00000_WinHook/REG_SZ/C:\system.sav\Util\winhook\winhook.exe]"
set "isFail="

echo ========================================================== >> %APP_LOG%
echo [%time%] >> %APP_LOG%
echo  Delete run key to registry before PASS 1 >> 				   %APP_LOG%
echo ========================================================== >> %APP_LOG%

:Install
echo REG_KEY_ROOT=[%REG_KEY_ROOT%] >> %APP_LOG%
echo REG_RELATIVE_PATH=[%REG_RELATIVE_PATH%] >> %APP_LOG%

call :SHOW_INFO
echo Import registry >>%APP_LOG%
for /F "tokens=1,2,3 delims=/[] " %%A IN ('echo %REG_V_T_D%') do (
	echo reg.exe delete "%REG_KEY_ROOT%\%REG_RELATIVE_PATH%" /v "%%A" /f >>%APP_LOG% 2>&1
		 reg.exe delete "%REG_KEY_ROOT%\%REG_RELATIVE_PATH%" /v "%%A" /f >>%APP_LOG% 2>&1
	IF ERRORLEVEL 1 echo Failed >>%APP_LOG% & set "isFail=1"
)

call :SHOW_INFO

:CLEANUP
if errorlevel 1 set "isFail=1"
if defined isFail goto RESULTFAILED

GOTO RESULTPASSED

:SHOW_INFO
echo --- Query reg START -------------------------------------------------------- >>%APP_LOG%
reg.exe query "%REG_KEY_ROOT%\%REG_RELATIVE_PATH%" >>%APP_LOG% 2>&1
echo --- Query reg END -------------------------------------------------------- >>%APP_LOG%
exit /b 0

:RESULTPASSED
ECHO [%TIME%] Result of the %APP_NAME% >> %APP_LOG%
ECHO RESULT=PASSED >> %APP_LOG%
GOTO END

:RESULTFAILED
ECHO [%TIME%] Result of the %APP_NAME% >> %APP_LOG%
ECHO RESULT=FAILED >> %APP_LOG%
ECHO ERRORLEVEL=%errorlevel% >> %APP_LOG%
GOTO END

:END
ENDLOCAL
@ECHO ON