@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion

call :dletefiles
call :MakeDrvIndex
call :KillWpf
cls
exit

:dletefiles

 For /F "Delims=" %%I In (delfiles.txt) Do (
   Set V=%%~xI
   Set V=!V:~0,3!_
   
   For %%K In ("%I386%\*.CAB") Do (
     if Exist "Temp\CABs\%%~nK\%%I" ( 
      echo. > Temp\%%~nK.flg
      echo delete %%I in %%~nK.cab
      del "Temp\CABs\%%~nK\%%I"
      echo %%I>> Temp\txtsetup.log
      echo d1,%%I>> Temp\dosnet.log
      echo %%I>> Temp\killwpf.log
     )
   )
   if Exist "%I386%\%%I" (
     del "%I386%\%%I"
     echo delete %%I in I386
     echo %%I>> Temp\txtsetup.log
     echo d1,%%I>> Temp\dosnet.log
     echo %%I>> Temp\killwpf.log
   )
  
   if Exist "%I386%\%%~nI!V!" (
     del "%I386%\%%~nI!V!"
     echo delete %%~nI!V! in I386
     echo %%I>> Temp\txtsetup.log
     echo d1,%%I>> Temp\dosnet.log
     echo %%I>> Temp\killwpf.log
   )
 )


  echo. >> Temp\txtsetup.log
  echo. >> Temp\dosnet.log
  echo. >> Temp\killwpf.log

  findstr /v /b /i /g:Temp\txtsetup.log %I386%\txtsetup.sif > Temp\txtsetup.sif
  move Temp\txtsetup.sif %I386%\txtsetup.sif


  findstr /v /b /i /g:Temp\dosnet.log %I386%\dosnet.inf > Temp\dosnet.inf
  move Temp\dosnet.inf %I386%\dosnet.inf


GoTo :EOF

:MakeDrvIndex

del %I386%\drvindex.inf
echo [Version]>> %I386%\drvindex.inf
echo Signature="$Windows NT$">> %I386%\drvindex.inf
echo CabFiles=%SPCab%,Driver>> %I386%\drvindex.inf
echo. >> %I386%\drvindex.inf
echo [Driver]>> %I386%\drvindex.inf
dir /b Temp\CABs\DRIVER >> %I386%\drvindex.inf
echo [%SPCab%]>> %I386%\drvindex.inf
dir /b Temp\CABs\%SPCab% >> %I386%\drvindex.inf
echo. >> %I386%\drvindex.inf
echo [Cabs]>> %I386%\drvindex.inf
echo Driver=driver.cab>> %I386%\drvindex.inf
echo %SPCab%=%SPCab%.cab>> %I386%\drvindex.inf
echo. >> %I386%\drvindex.inf

GoTo :EOF


:KillWpf
 For /F "Delims=" %%I In (killwpf.txt) Do echo %%I>> Temp\killwpf.log
 Extrac32 /L Temp\ /E "%I386%\SFCFILES.DL_" >nul
 SfcPatc.exe Temp\sfcfiles.dll Temp\killwpf.log
 Del /F /Q "%I386%\SFCFILES.DL_"
 MakeCab /L "%I386%" Temp\sfcfiles.dll SFCFILES.DL_ >nul

GoTo :EOF







 



