@ECHO OFF
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET WDir=%~1
SET SrcDosPath=%I386%\..\
SET SrcDosDrive=%Distr%

REM  䠩 setting.ini  Temp\setting
FOR /F "UseBackQ EOL=; Tokens=1,2* Delims==" %%i IN ("%WDir%\Settings\setting.ini") DO CALL SET %%~i=%%~j
FOR /F "UseBackQ EOL=; Tokens=1,2* Delims==" %%i IN ("Temp\setting") DO CALL SET %%~i=%%~j
REM ஢ઠ    VOLM, VOLD,  VOLS 䠩 業ਥ ⠭
SET y=0 && FOR /L %%i IN (0,1,20) DO IF EXIST "%WDir%\VOLM\%%i.txt" SET /A y+=1
SET x=0 && FOR /L %%i IN (0,1,20) DO IF EXIST "%WDir%\VOLS\%%i.txt" SET /A x+=1
SET z=0 && FOR /L %%i IN (0,1,20) DO IF EXIST "%WDir%\VOLD\%%i.txt" SET /A z+=1

IF !y! GTR 0 IF EXIST "%Zipped%\%name%.7z" (
	CALL:IntegrateDrivers
	IF !x! GTR 0 CALL :NoMassStorage
	GOTO :EOF
)

IF !z! GTR 0 (
	CALL :IntegrateDrivers
	GOTO :EOF
)

IF EXIST "%WDir%\Txtsetup" DEL /F /Q "%WDir%\Txtsetup">nul
IF EXIST "%WDir%\Dosnet" DEL /F /Q "%WDir%\Dosnet">nul
DEL /F /Q "%WDir%\Files\ForceCopy\*">nul
GOTO :EOF

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:IntegrateDrivers
ECHO ⥣ ࠩ஢  "᪮" ⠯

REM  䠩 fSetup.ini
FOR /F "UseBackQ EOL=; Tokens=1,2* Delims==" %%i IN ("Addons\Z-FakesetupAdv\Files\ForceCopy\fSetup.ini") DO CALL SET %%~i=%%~j

REM ஢ ࠩ஢  䠩, 室   ⠭  ਡ⨢
IF %FSAUnPack%==0 (
	IF NOT EXIST "%DrvSource%" MD "%DrvSource%"
	IF EXIST "%Zipped%\*.7z" XCOPY /Q /Y /S /E /H /R "%Zipped%\*.7z" "%DrvSource%\">nul
	XCOPY /Q /Y /S /E /H /R "%WDir%\%Unzipped%\*.*" "%DrvSource%\Unzipped\" >nul
	XCOPY /Q /Y /H /R "%WDir%\Tools\7za.exe" "%DrvSource%\">nul
	XCOPY /Q /Y /H /R "%WDir%\Tools\hidcon.exe" "%DrvSource%\">nul
) ELSE (
	REM  䠩 FSAUnPack.ini
	FOR /F "UseBackQ EOL=; Tokens=1,2* Delims==" %%i IN ("Addons\%FSAUnPackName%\CopyCD\FSAUnPack.ini") DO CALL SET %%~i=%%~j
)
XCOPY /Q /Y /H /R "%WDir%\Tools\DPsFnshr.exe" "%DrvSource%\">nul
XCOPY /Q /Y /H /R "%WDir%\Tools\devcon.exe" "%DrvSource%\">nul

REM  fsetup.ini
IF %PreSetup%==1 IF %PostSetup%==1 GOTO :Presetup
>>Temp\fSetup.ini FINDSTR /V /I "PreSetup=0 PostSetup=0" Addons\Z-FakesetupAdv\Files\ForceCopy\fSetup.ini
>>Temp\fSetup.ini ECHO PreSetup=1
>>Temp\fSetup.ini ECHO PostSetup=1
XCOPY /Q /Y /H /R Temp\fSetup.ini "%WDir%\Files\ForceCopy\">nul

REM  䠩 Txtsetup  Dosnet   ZZ_MultiBootDisk  ﬨ  Presetup.cmd  Pstsetup.cmd
IF NOT EXIST "%WDir%\Txtsetup" (
	>>"%WDir%\Txtsetup" ECHO [SourceDisksFiles]
	>>"%WDir%\Txtsetup" ECHO PreSetup.cmd = 100,,,,,,_x,2,0,0
	>>"%WDir%\Txtsetup" ECHO PstSetup.cmd = 100,,,,,,_x,2,0,0
)
IF NOT EXIST "%WDir%\Dosnet" (
	>>"%WDir%\Dosnet" ECHO [Files]
	>>"%WDir%\Dosnet" ECHO d1,PreSetup.cmd
	>>"%WDir%\Dosnet" ECHO d1,PstSetup.cmd
)

:Presetup
REM ᥭ 室 ᥩ  Presetup.cmd
>Temp\Presetup.cmd ECHO REM this is Presetup
>>Temp\Presetup.cmd ECHO @ECHO OFF
IF %FSAUnPack%==0 (
	REM  䠩 setting.ini  ⠢ 祭  ६ SrcDosPath  SrcDosDrive
 	FOR /F "UseBackQ EOL=; Tokens=1,2* Delims==" %%i IN ("%WDir%\Settings\setting.ini") DO SET %%i=%%j
	>>Temp\Presetup.cmd ECHO md %DrvFolder%
	>>Temp\Presetup.cmd ECHO cd %DrvFolder%
	>>Temp\Presetup.cmd ECHO cd ..\
	IF %Hide7za%==1 (
		>>Temp\Presetup.cmd ECHO START "" /WAIT "!DrvSource!\hidcon.exe" "!DrvSource!\7za.exe" x "!DrvSource!\*.7z" -aoa
	) ELSE (
		>>Temp\Presetup.cmd ECHO START "" /WAIT "!DrvSource!\7za.exe" x "!DrvSource!\*.7z" -aoa
	)
	>>Temp\Presetup.cmd ECHO XCOPY /Q /Y /S /E /H /R "!DrvSource!\%Unzipped%\*.*" "%DrvFolder%\Unzipped\"
) ELSE (
	REM  䠩 FSAUnPack.ini  ⠢ 祭  ६ SrcDosPath  SrcDosDrive
 	FOR /F "UseBackQ EOL=; Tokens=1,2* Delims==" %%i IN ("Addons\%FSAUnPackName%\CopyCD\FSAUnPack.ini") DO SET %%i=%%j
	>>Temp\Presetup.cmd ECHO IF EXIST "!DrvSource!\FSAUnPack.exe" START "" /WAIT "!DrvSource!\FSAUnPack.exe" %TimerFSAUnPack% %View% %Lang%
)
>>Temp\Presetup.cmd FINDSTR /V /I "@ECHO FSAUnPack.exe Unzipped this 7za" Addons\Z-FakesetupAdv\Files\ForceCopy\Presetup.cmd
REM ஢ઠ    ᪥ WinntFix.exe  稨  WinntFix
REM (᫨  ᮮ⢥   Addons\Z-FakesetupAdv\Files\ForceCopy\Presetup.cmd)
CALL :ChangeAddonsLst WinntFix 2
IF %ExistAddon%==1 (
	IF EXIST Temp\PreSetupAddon DEL /F /Q Temp\PreSetupAddon
	>>Temp\PreSetupAddon FINDSTR /I "WinntFix.exe" Addons\Z-FakesetupAdv\Files\ForceCopy\Presetup.cmd
	FOR %%I IN (Temp\PreSetupAddon) DO IF %%~zI==0 >>Temp\Presetup.cmd ECHO IF EXIST WinntFix.exe START /WAIT WinntFix.exe
)
REM ஢ઠ    ᪥ _SetupHotfixes.cmd  稨  z-KeepPrefSVC
REM (᫨  ᮮ⢥   Addons\Z-FakesetupAdv\Files\ForceCopy\Presetup.cmd)
CALL :ChangeAddonsLst z-KeepPrefSVC 2
IF %ExistAddon%==1 (
	IF EXIST Temp\PreSetupAddon DEL /F /Q Temp\PreSetupAddon
	>>Temp\PreSetupAddon FINDSTR /I "_SetupHotfixes.cmd" Addons\Z-FakesetupAdv\Files\ForceCopy\Presetup.cmd
	FOR %%I IN (Temp\PreSetupAddon) DO IF %%~zI==0 (
		>>Temp\Presetup.cmd ECHO SET DistrDir=%%SrcDosPath%%\I386\SVCPACK
		>>Temp\Presetup.cmd ECHO COPY /Y %%DistrDir%%\_SetupHotfixes.cmd %%SystemDrive%%\_SetupHotfixes.cmd
	)
	IF EXIST Temp\PreSetupAddon DEL /F /Q Temp\PreSetupAddon
	>>Temp\PreSetupAddon FINDSTR /I "RSVCPACK.cmd" Addons\Z-FakesetupAdv\Files\ForceCopy\Presetup.cmd
	FOR %%I IN (Temp\PreSetupAddon) DO IF %%~zI==0  >>Temp\Presetup.cmd ECHO IF EXIST "%%DistrDir%%\RSVCPACK.cmd" CALL "%%DistrDir%%\RSVCPACK.cmd"
	IF EXIST Temp\PreSetupAddon DEL /F /Q Temp\PreSetupAddon
	FINDSTR /I "Runss.cmd" Addons\Z-FakesetupAdv\Files\ForceCopy\Presetup.cmd>>Temp\PreSetupAddon
	FOR %%I IN (Temp\PreSetupAddon) DO IF %%~zI==0 >>Temp\Presetup.cmd ECHO IF EXIST "%%DistrDir%%\Runss.cmd" CALL "%%DistrDir%%\Runss.cmd"
)	
	
XCOPY /Q /Y /H /R Temp\Presetup.cmd "%WDir%\Files\ForceCopy\">nul
REM ᥭ 室 ᥩ  Pstsetup.cmd
>Temp\Pstsetup.cmd ECHO REM this is Pstsetup
>>Temp\Pstsetup.cmdECHO @ECHO OFF
>>Temp\Pstsetup.cmd ECHO "%DrvSource%\DPsFnshr.exe"
IF %FSAUnPack%==0 (
	>>Temp\Pstsetup.cmd ECHO FOR /F "UseBackQ EOL=; Tokens=1,2* Delims==" %%%%i IN ^("%%SystemRoot%%\system32\fSetup.ini"^) DO CALL SET %%%%~i=%%%%~j	
	>>Temp\Pstsetup.cmd ECHO IF %%DelDrvAfterInst%%==1 RD /S /Q "%%DrvFolder%%"
)
>>Temp\Pstsetup.cmd FINDSTR /V /I "@ECHO DPsFnshr Unzipped this CopyDist" Addons\Z-FakesetupAdv\Files\ForceCopy\Pstsetup.cmd
REM ஢ઠ    ᪥ _SetupHotfixes.cmd  稨  z-KeepPrefSVC
REM (᫨  ᮮ⢥   Addons\Z-FakesetupAdv\Files\ForceCopy\Pstsetup.cmd)
CALL :ChangeAddonsLst z-KeepPrefSVC 2
IF %ExistAddon%==1 (
	IF EXIST Temp\PstSetupAddon DEL /F /Q Temp\PstSetupAddon
	>>Temp\PstSetupAddon FINDSTR /I "_SetupHotfixes.cmd" Addons\Z-FakesetupAdv\Files\ForceCopy\Pstsetup.cmd
	FOR %%I IN (Temp\PstSetupAddon) DO IF %%~zI==0 (
		>>Temp\Pstsetup.cmd ECHO DEL /F /Q "%%SystemDrive%%\_SetupHotfixes.cmd"
		>>Temp\Pstsetup.cmd ECHO DEL /F /Q "%%SystemDrive%%\Runss.*"
	)
)	

XCOPY /Q /Y /H /R Temp\Pstsetup.cmd "%WDir%\Files\ForceCopy\">nul

GOTO :EOF

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:NoMassStorage
REM ⮢ 室 䠩  ᮧ 㭪⮢ ⨧㧪  ⥣樨 ࠩ஢ ⥪⮢ ⠯
>>Temp\Presetup.nop ECHO REM this is Presetup
>>Temp\Presetup.nop ECHO @ECHO OFF
>>Temp\Presetup.nop FINDSTR /V /I "@ECHO FSAUnPack.exe Unzipped this" "%WDir%\Files\ForceCopy\Presetup.cmd"
XCOPY /Q /Y /H /R Temp\Presetup.nop "%WDir%\Files\ForceCopy\">nul
>>Temp\txtsetup.del FINDSTR /V /I /X /L /G:"%SRCDISTR%\I386\txtsetup.sif" Addons\Z-MSST\txtsetup
>>Temp\dosnet.del FINDSTR /V /I /X /L /G:"%SRCDISTR%\I386\dosnet.inf" Addons\Z-MSST\dosnet
GOTO :EOF

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:ChangeAddonsLst
REM /㤠/஢ઠ  ப  Folders.txt
REM %1 -  
REM %2 - 0 㤠   ᯨ᪠, 1    ᯨ᮪, 2 ஢ઠ    ᯨ᪥
REM 頥 祭:
REM ExistAddon=1    Folders.txt, 0 - 
REM AddonName 筮  

SET ExistAddon=0
SET AddonName=
FOR /F "UseBackQ EOL=; Tokens=1*" %%n IN (`FINDSTR /I /C:"%1" "Temp\Folders.txt"`) DO (
	SET ExistAddon=1
	FOR /F "Tokens=1,2 Delims=\" %%a IN ("%%n") DO SET AddonName=%%b
)
IF "%2"=="0" (
	>"Temp\Folders.TMP" FINDSTR /L /I /V /C:"%1" "Temp\Folders.txt"
)
IF %2==1 (
	>>"Temp\Folders.txt" ECHO Addons\%1
	SORT "Temp\Folders.txt" /O "Temp\Folders.TMP"
)
IF EXIST "Temp\Folders.TMP" (
	DEL /F /Q "Temp\Folders.txt"
	REN "Temp\Folders.TMP" Folders.txt
)
GOTO :EOF

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
