@echo off
setlocal EnableExtensions EnableDelayedExpansion
chcp 65001 >nul
set "OVERWRITE=0"
if /I "%~1"=="-h" goto :usage
if /I "%~1"=="--help" goto :usage
if /I "%~1"=="/?" goto :usage
if /I "%~1"=="-Overwrite" set "OVERWRITE=1"
if /I "%~1"=="/Overwrite" set "OVERWRITE=1"
set "DOWNLOAD_TOOL="
where curl.exe >nul 2>nul
if not errorlevel 1 set "DOWNLOAD_TOOL=curl"
if not defined DOWNLOAD_TOOL (
where certutil.exe >nul 2>nul
if not errorlevel 1 set "DOWNLOAD_TOOL=certutil"
)
if not defined DOWNLOAD_TOOL (
echo curl.exe or certutil.exe was not found.
goto :end
)
call :find_retail_path
if not defined WOW_RETAIL (
echo Could not find the World of Warcraft Retail install path from the registry.
goto :end
)
set "ICONS_DIR=%WOW_RETAIL%InterfaceICONS"
if not exist "%ICONS_DIR%" mkdir "%ICONS_DIR%"
echo WoW Retail: %WOW_RETAIL%
echo ICONS folder: %ICONS_DIR%
call :download_file "inv_belt_39a.tga"
call :download_file "inv_bracer_45green.tga"
call :download_file "inv_pants_cloth_38.tga"
call :download_file "inv_pants_leather_10.tga"
call :download_file "ui_majorfaction_rocket.tga"
echo 아이콘 다운로드 완료
:end
pause
exit /b
:download_file
set "FILE_NAME=%~1"
set "DEST=%ICONS_DIR%%FILE_NAME%"
if exist "%DEST%" if "%OVERWRITE%"=="0" (
echo Skipped: %FILE_NAME% already exists
exit /b 0
)
echo Downloading: %FILE_NAME%
if "%DOWNLOAD_TOOL%"=="curl" (
curl.exe -fsSL --retry 3 --output "%DEST%" "https://raw.githubusercontent.com/Reloe/LuraMemoryFiles/main/%FILE_NAME%"
) else (
certutil.exe -urlcache -split -f "https://raw.githubusercontent.com/Reloe/LuraMemoryFiles/main/%FILE_NAME%" "%DEST%" >nul
)
if errorlevel 1 (
echo Failed: %FILE_NAME%
if exist "%DEST%" del "%DEST%" >nul 2>nul
)
exit /b 0
:find_retail_path
call :try_reg_value "HKLMSOFTWAREWOW6432NodeBlizzard EntertainmentWorld of Warcraft" "InstallPath"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKLMSOFTWAREWOW6432NodeBlizzard EntertainmentWorld of Warcraft" "GamePath"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKLMSOFTWAREWOW6432NodeBlizzard EntertainmentWorld of Warcraft" "Path"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKLMSOFTWAREBlizzard EntertainmentWorld of Warcraft" "InstallPath"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKLMSOFTWAREBlizzard EntertainmentWorld of Warcraft" "GamePath"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKLMSOFTWAREBlizzard EntertainmentWorld of Warcraft" "Path"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKCUSOFTWAREBlizzard EntertainmentWorld of Warcraft" "InstallPath"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKCUSOFTWAREBlizzard EntertainmentWorld of Warcraft" "GamePath"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKCUSOFTWAREBlizzard EntertainmentWorld of Warcraft" "Path"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKCUSOFTWAREWOW6432NodeBlizzard EntertainmentWorld of Warcraft" "InstallPath"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKCUSOFTWAREWOW6432NodeBlizzard EntertainmentWorld of Warcraft" "GamePath"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKCUSOFTWAREWOW6432NodeBlizzard EntertainmentWorld of Warcraft" "Path"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstallWorld of Warcraft" "InstallLocation"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstallWorld of Warcraft" "DisplayIcon"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKLMSOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionUninstallWorld of Warcraft" "InstallLocation"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKLMSOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionUninstallWorld of Warcraft" "DisplayIcon"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKCUSOFTWAREMicrosoftWindowsCurrentVersionUninstallWorld of Warcraft" "InstallLocation"
if defined WOW_RETAIL exit /b 0
call :try_reg_value "HKCUSOFTWAREMicrosoftWindowsCurrentVersionUninstallWorld of Warcraft" "DisplayIcon"
exit /b 0
:try_reg_value
set "REG_KEY=%~1"
set "REG_VALUE=%~2"
set "REG_DATA="
for /f "tokens=1,2,*" %%A in ('reg query "%REG_KEY%" /v "%REG_VALUE%" 2^>nul ^| findstr /I /C:"%REG_VALUE%"') do (
set "REG_DATA=%%C"
)
if not defined REG_DATA exit /b 0
call :resolve_retail_path "%REG_DATA%"
exit /b 0
:resolve_retail_path
set "CANDIDATE=%~1"
if not defined CANDIDATE exit /b 0
for /f "tokens=1 delims=," %%A in ("%CANDIDATE%") do set "CANDIDATE=%%~A"
if /I "%CANDIDATE:~-4%"==".exe" set "CANDIDATE=%~dp1"
if "%CANDIDATE:~-1%"=="" set "CANDIDATE=%CANDIDATE:~0,-1%"
for %%A in ("%CANDIDATE%") do set "LEAF=%%~nxA"
if /I "%LEAF%"=="_retail_" if exist "%CANDIDATE%" (
set "WOW_RETAIL=%CANDIDATE%"
exit /b 0
)
if exist "%CANDIDATE%_retail_" (
set "WOW_RETAIL=%CANDIDATE%_retail_"
exit /b 0
)
if exist "%CANDIDATE%Wow.exe" (
set "WOW_RETAIL=%CANDIDATE%"
exit /b 0
)
if exist "%CANDIDATE%Interface" (
set "WOW_RETAIL=%CANDIDATE%"
exit /b 0
)
exit /b 0
:usage
echo Usage:
echo %~nx0
echo %~nx0 -Overwrite
goto :end