@echo off
echo.
echo 请确保以管理员身份运行本程序，并且待替换文件在同目录下(如果不是请关闭本程序)。
echo 全自动替换 imageres.dll或imageres_bak.dll ，任意键继续 ……
pause>nul
echo 初始化中，检查本目录中是否存在imageres.dll文件或是否存在imageres_bak.dll文件
IF not EXIST imageres_bak.dll goto 4
echo imageres_bak.dll文件存在，准备替换imageres_bak.dll文件 
goto 5
:5
echo 替换第一步，关闭任务管理器中的explorer.exe进程，中间会有屏幕闪烁，属正常现象
echo explorer.exe已关闭！
taskkill /im explorer.exe /f
echo.
echo 替换第二步，获取管理员权限 ...
takeown /f C:\windows\system32\imageres.dll /a
icacls C:\windows\system32\imageres.dll /grant administrators:F /t
echo.
move C:\windows\system32\imageres.dll .\
move .\imageres_bak.dll C:\windows\system32\imageres.dll || echo 移动失败
echo 正在开启explorer.exe进程，请稍后——
start "" "c:\windows\explorer.exe"
echo imageres_bak.dll替换完成，原imageres.dll已移动到本目录下，若想替换请再次拖入文件
goto 2
:4
echo imageres_bak.dll文件不存在,准备检测imageres.dll文件
goto 6
:6
IF not EXIST %1 goto 1
echo imageres.dll文件存在！ 
goto 3
:1
echo imageres.dll文件不存在,结束本程序！
goto 2
:3
echo 替换第一步，关闭任务管理器中的explorer.exe进程，中间会有屏幕闪烁，属正常现象
echo explorer.exe已关闭！
taskkill /im explorer.exe /f
echo.
echo 替换第二步，获取管理员权限 ...
takeown /f C:\windows\system32\imageres.dll /a
icacls C:\windows\system32\imageres.dll /grant administrators:F /t
echo.
move C:\windows\system32\imageres.dll .\imageres_bak.dll
move %1 C:\windows\system32\ || echo 移动失败
echo 正在开启explorer.exe进程，请稍后——
start "" "c:\windows\explorer.exe"
echo imageres.dll替换完成，原imageres.dll已重命为imageres_bak.dll且移动到本目录下，若想还原请再次拖入备份
:2
pause