@Echo Off
Set WD=%~1
Echo.
Echo    %~1
If Exist "%WD%\fSetup.log" Del "%WD%\fSetup.log">nul
If Exist "%WD%\Backup" RD /S /Q "%WD%\Backup"
MD "%WD%\Backup"
If Exist "%WD%\Temp" RD /S /Q "%WD%\Temp"
MD "%WD%\Temp"
If Exist "%WD%\Out" RD /S /Q "%WD%\Out"
MD "%WD%\Out"

::       Backup  KillWFP.lst
For /F "Delims=" %%I In (%WD%\KillWFP.lst) Do Call :CopyFiles %%~I

::    
If Exist "%WD%\PackFiles" Del "%WD%\PackFiles">nul
For /F "UseBackQ Delims=" %%I In (`Dir "%WD%\Backup\*.??_" /B /ON 2^>nul`) Do Echo %%~I>>"%WD%\PackFiles"

::   
If Exist "%WD%\PackFiles" (
   Echo ᯠ 㯠 䠩
   For /F "Delims=" %%I In (%WD%\PackFiles) Do (
   Expand -r "%WD%\Backup\%%~I" "%WD%\Backup\\">nul
   Del "%WD%\Backup\%%~I">nul
   )
)

::  
"%WD%\Setup.exe" --pconf-L0 --s "%WD%\Backup" --d "%WD%\Out"
XCopy "%WD%\Out\*.*" "%WD%\Temp\" /Q /R /Y>nul
For /F "UseBackQ Delims=" %%I In (`Dir %WD%\Out\*.* /B /ON 2^>nul`) Do Echo %%~I   	 䠩 믮 

::      
If Exist "%WD%\PackFiles" (
   Echo  䠩
   For /F "UseBackQ Delims=" %%I In (`Dir "%WD%\Out" /B /ON 2^>nul`) Do Call :PackFiles %%~I
)

Echo ஢ 䠩  㤠 ६ 
::   
XCopy "%WD%\Out\*.*" "%I386%\" /Q /R /Y>nul
If Exist Temp\Log\Addons Copy /Y "%WD%\fSetup.log" Temp\Log\Addons\Z-Dll_Patcher.log>nul

::   
rem If Exist "%WD%\Backup" RD /S /Q "%WD%\Backup"
If Exist "%WD%\Out" RD /S /Q "%WD%\Out"
If Exist "%WD%\Temp" RD /S /Q "%WD%\Temp"
If Exist "%WD%\PackFiles" Del "%WD%\PackFiles">nul
Echo 믮   Z-Dll_Patcher 襭!
GoTo :EOF

:CopyFiles
::  
Set I=%~1
If Exist "%I386%\%I:~0,-1%?" Copy "%I386%\%I:~0,-1%?" "%WD%\Backup\">nul
Goto :EOF

:PackFiles
::  
Set I=%~1
For /F "Delims=" %%J In (%WD%\PackFiles) Do If /I "%%~J"=="%I:~0,-1%_" (
   MakeCab /D CompressionMemory=21 /D CompressionType=LZX /L "%WD%\Out" "%WD%\Out\%I%" %I:~0,-1%_>nul
   Del /F /Q "%WD%\Out\%I%">nul
)
Goto :EOF