if %1 EQU 1 goto SET_DATAERASE_TO_ONE
set dataerase=0
goto step1

:SET_DATAERASE_TO_ONE
set dataerase=1

:step1
if [%2] EQU [] goto NOT_S
set para=-s
goto step2

:NOT_S
set para=<nul

:step2
REM begin to flash header

fastboot oem write_osip_header %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON

fastboot flash boot boot.img %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON

fastboot flash recovery recovery.img %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON

fastboot flash fastboot droidboot.img %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON

REM begin to start_partition

fastboot oem start_partitioning %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON

fastboot flash /tmp/partition.tbl partition.tbl %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON

fastboot oem partition /tmp/partition.tbl %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON

fastboot erase cache %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON

fastboot erase system %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON

if %dataerase% EQU 0 goto SKIP_ERASE_DATA

fastboot erase data %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON

:SKIP_ERASE_DATA

fastboot oem stop_partitioning %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON

fastboot flash system system.img %para% %2
@ECHO OFF
if %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON

@ECHO OFF
if NOT exist APD.img (
@ECHO ON
goto SKIP_APD
)

@ECHO ON
REM begin to flash APD

fastboot flash APD APD.img %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON

:SKIP_APD
@ECHO OFF
if NOT exist capsule.bin (
@ECHO ON
goto SKIP_CAPSULE
)

@ECHO ON
REM begin to flash capsule

fastboot flash capsule capsule.bin %para% %2
@del capsule.bkp
@ren capsule.bin capsule.bkp

:SKIP_CAPSULE
fastboot oem adb_enable 1 %para% %2
fastboot continue %para% %2

