taskkill /f /im EpicGamesLauncher.exe /t

rmdir "%~dp0ICafeCloud" /S /Q

mkdir "%~dp0ICafeCloud\LocalAppData/EpicGamesLauncher" 2>nul
mkdir "%~dp0ICafeCloud\LocalAppData/Epic Games" 2>nul
mkdir "%~dp0ICafeCloud\LocalAppData/EpicOnlineServicesUIHelper" 2>nul
mkdir "%~dp0ICafeCloud\LocalAppData/FortniteGame" 2>nul
mkdir "%~dp0ICafeCloud\ProgramData/Epic" 2>nul
mkdir "%~dp0ICafeCloud\ProgramFiles(x86)\Epic Games" 2>nul
mkdir "%~dp0ICafeCloud\ProgramFiles\Epic Games" 2>nul

xcopy /E /I /Y "%LocalAppData%\EpicGamesLauncher" "%~dp0ICafeCloud\LocalAppData\EpicGamesLauncher"
xcopy /E /I /Y "%LocalAppData%\Epic Games" "%~dp0ICafeCloud\LocalAppData\Epic Games"
xcopy /E /I /Y "%LocalAppData%\EpicOnlineServicesUIHelper" "%~dp0ICafeCloud\LocalAppData\EpicOnlineServicesUIHelper"
xcopy /E /I /Y "%ProgramData%\Epic" "%~dp0ICafeCloud\ProgramData\Epic"
xcopy /E /I /Y "%ProgramFiles(x86)%\Epic Games" "%~dp0ICafeCloud\ProgramFiles(x86)\Epic Games"

REM New Epic launcher installs itself and all games into "%ProgramFiles%\Epic Games" - path is not selectable
REM Skip harvesting when the dir is already a junction - its data already lives in ICafeCloud
2>nul dir /AL /B "%ProgramFiles%" | find /i "Epic Games" >nul
if errorlevel 1 (
	xcopy /E /I /Y "%ProgramFiles%\Epic Games" "%~dp0ICafeCloud\ProgramFiles\Epic Games"
)

REM Export EOS registry - holds the Version values the new launcher checks - so clients can import it
reg export "HKLM\SOFTWARE\WOW6432Node\Epic Games\EOS" "%~dp0ICafeCloud\eos.reg" /y

rmdir "%~dp0ICafeCloud\LocalAppData\EpicGamesLauncher\Saved" /S /Q
rmdir "%~dp0ICafeCloud\LocalAppData\EpicGamesLauncher\Intermediate\Config\CoalescedSourceConfigs" /S /Q
rmdir "%~dp0ICafeCloud\ProgramData\Epic\EpicGamesLauncher\Data\Update" /S /Q

if not exist "pkg_match_only.dat" (
    type nul > "pkg_match_only.dat"
)
