@ECHO OFF
setlocal enabledelayedexpansion

REM ====================================================
REM   Setting Required Variable
REM ====================================================
SET CRM.ERR.NUM=0
SET CRM.ERR.MSG=NO ERROR DURING %~n0 PROCESSING
SET RSRV_NWK_FLAG=C:\System.sav\Flags\Reserve_Driver.flg
REM ====================================================
REM   START 
REM ====================================================

REM ====================================================
REM Check if Network Driver need to be reg into DevicePath
REM ====================================================
REM ECHO [%time%][%~n0] Info, Check if %RSRV_NWK_FLAG% exist to add Network Driver into DevicePath
REM IF NOT exist %RSRV_NWK_FLAG% (
REM 	ECHO [%time%][%~n0] Info, %RSRV_NWK_FLAG% don't exist, no need to add Network Driver into DevicePath
REM 	GOTO END
REM )
REM ECHO [%time%][%~n0] %RSRV_NWK_FLAG% exist, Add Network Driver into DevicePath

REM ====================================================
REM Add C:\SWSetup\DRV\Network into DevicePath
REM ====================================================
SET t_path=C:\HP\Network_Driver
ECHO [%time%][%~n0] Info, Check if %t_path% exist
IF NOT EXIST %t_path% (
	ECHO [%time%][%~n0] Info, %t_path% not exist
	SET CRM.ERR.NUM=795
	SET CRM.ERR.MSG=FAIL: %t_path% not exist
	GOTO END

)

ECHO [%time%][%~n0] Info, %t_path% exist , start to add %t_path% into DevicePath list
for /f "tokens=2*" %%a in ('reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion /v DevicePath') do set "s_var=%%b"
Set t_var=%s_var%;%t_path%
echo [%time%][%~n0] Update %t_var% into HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion [DevicePath]
echo [%time%][%~n0] Call : reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion /v "DevicePath" /t REG_EXPAND_SZ /d %t_var% /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion /v "DevicePath" /t REG_EXPAND_SZ /d %t_var% /f
IF NOT [%errorlevel%]==[0] (
	SET CRM.ERR.NUM=795
	SET CRM.ERR.MSG=FAIL: reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion /v "DevicePath" /t REG_EXPAND_SZ /d %t_var% /f
	GOTO END
)

:END
REM ====================================================
REM  Error detection
REM ====================================================
IF Not [%CRM.ERR.NUM%]==[0] (	
	ECHO.
	ECHO ******************************************************************************
	ECHO * ERROR: %CRM.ERR.NUM%
	ECHO *      : %CRM.ERR.MSG%
	ECHO ******************************************************************************
	ECHO.

	ECHO [%time%][%~n0] %CRM.ERR.MSG%
)

ECHO [%~n0] %date% %time%
ECHO ********** FINISH %~nx0 **********
ECHO RETURN CODE - %CRM.ERR.NUM%

REM EXIT THE SCRIPT AND RETURN THE ERROR LEVEL
EXIT /b %CRM.ERR.NUM%
