@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
title 点击一键渲染后不弹插件面板修复工具
cls

echo ==============================================
echo [日志] 正在检测管理员权限...
fltmc >nul 2>&1
if %errorlevel% neq 0 (
    echo [错误] 请右键以管理员身份运行！
    pause >nul
    exit /b 1
)
echo [成功] 已获取管理员权限
echo ==============================================
echo.

set "name=渲云效果图"
set "src=plugins\transmit"
set "desk=%USERPROFILE%\Desktop"
set "pubdesk=C:\Users\Public\Desktop"
set "cnt=0"

for /f "delims=" %%i in ('dir /b /a-d "%desk%\*.lnk" 2^>nul') do (
    if /i "%%~ni"=="%name%" call :run "%desk%\%%i"
)
for /f "delims=" %%i in ('dir /b /a-d "%pubdesk%\*.lnk" 2^>nul') do (
    if /i "%%~ni"=="%name%" call :run "%pubdesk%\%%i"
)

echo.
echo ==============================================
if %cnt%==0 (
    echo [结果] 未找到目录程序
) else (
    echo [结果] 修复完成，请重启客户端，再重新点击一键渲染，查看是否正常弹出插件面板
)
echo ==============================================
pause >nul
exit /b

:run
echo.
echo [日志] 找到：%~1
set /a cnt+=1

for /f "delims=" %%a in ('powershell "$s=(New-Object -COM WScript.Shell).CreateShortcut('%~1');$s.TargetPath" 2^>nul') do (
    set "p=%%a"
)

if not exist "%p%" (
    echo [警告] 指向的文件不存在，跳过
    goto :eof
)

for %%i in ("%p%") do set "d=%%~dpi"
set "f=%d%%src%"

echo [日志] 程序目录：%d%
echo [日志] 源目录：%f%

if not exist "%f%" (
    echo [跳过] 源目录不存在
    goto :eof
)

echo [日志] 开始修复...
xcopy /e /h /y "%f%\*" "%d%\transmit" >nul 2>&1

if %errorlevel% equ 0 (
    echo [成功] 修复完成，请重启客户端，再重新点击一键渲染，查看是否正常弹出插件面板
) else (
    echo [错误] 修复失败
)
goto :eof