@echo off
REM ========================================================
REM   Template Version: 2.00
REM ========================================================

@ECHO OFF
SET APP_NAME=Windows 10 COMPACT Recapture - CPS - Precheck
SET APP_LOG=C:\System.sav\Logs\BB\%~n0.LOG
IF NOT EXIST C:\System.sav\Logs\BB MD C:\system.sav\Logs\BB

ECHO ############################################################# >> %APP_LOG%
ECHO  [%DATE%]                                                     >> %APP_LOG%
ECHO  [%TIME%] Beginning of the %~nx0                              >> %APP_LOG%
ECHO ############################################################# >> %APP_LOG%


REM ------------------- Script Entry ------------------------

set SKUNumber=
for /f "tokens=* delims=" %%i in ('Wmic.exe COMPUTERSYSTEM get SystemSKUNumber /value') do (
    for /f "tokens=1* delims==" %%a in ("%%~i") do (if /i %%~a == SystemSKUNumber set "SKUNumber=%%~b")
)
if not defined SKUNumber echo wmic could not get SystemSKUNumber >> %APP_LOG% & GOTO RESULTFAILED
echo SKUNumber: %SKUNumber% >> %APP_LOG%

set disk=
if not exist c:\system.sav\util\destorder_x64.exe echo Could not found destorder_x64.exe >> %APP_LOG% & GOTO RESULTFAILED
c:\system.sav\util\destorder_x64.exe >> %APP_LOG%
if errorlevel 3 echo destorder_x64.exe echo could not found destination order. >> %APP_LOG% & GOTO RESULTFAILED
set /a disk=%errorlevel%
echo. >> %APP_LOG%
echo Disk order: %disk% >> %APP_LOG%

set DiskSize=
for /f "tokens=1,2 delims== " %%i in ('cscript.exe /nologo "%~dp0getdisksize.vbs" %disk%') do (
    if /i %%~i == Size set /a "DiskSize=%%~j"
)
if not defined DiskSize echo Could not get disk size. >> %APP_LOG% & goto RESULTFAILED
echo Disk Size: %DiskSize% >> %APP_LOG%

if /i not [%SKUNumber:~-3%] == [@GM] echo NOT MLGM mode, Ignored >> %APP_LOG% & goto RESULTPASSED
if /i [%SKUNumber:~-4%] == [@@GM] echo echo @@GM mode, Ignored >> %APP_LOG% & goto RESULTPASSED
if /i [%SKUNumber:~0,4%] == [SSRM] echo echo SSRM build, Ignored >> %APP_LOG% & goto RESULTPASSED
if %DiskSize% LEQ 32 echo MLGM mode that disk size must bigger than 32GB >> %APP_LOG% & goto RESULTFAILED
echo Detect SKU number is MLGM mode and disk size is enough >> %APP_LOG%
echo copy /y "%~dp0ReApplySW.bto" C:\system.sav\Exclude\PINScr >> %APP_LOG%
copy /y "%~dp0ReApplySW.bto" C:\system.sav\Exclude\PINScr >> %APP_LOG%
if errorlevel 1 echo Copy %~dp0ReApplySW.bto file failed. >> %APP_LOG% & goto RESULTFAILED
GOTO RESULTPASSED

: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 Errorlevel=%errorlevel% >>%APP_LOG%
ECHO RESULT=FAILED >> %APP_LOG%
GOTO END

:END
@ECHO ON