PHP快捷设置系统环境变量

@echo off
:: 自动提权为管理员(核心代码)
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if %errorlevel% neq 0 (
    powershell -Command "Start-Process '%~f0' -Verb RunAs"
    exit /b
)

:: 原脚本内容
chcp 65001 > nul
setlocal enabledelayedexpansion

:: 配置区
set "PHP_BASE=D:\phpstudy\php"
set "LINK_PATH=!PHP_BASE!\current"
set "PHP84=!PHP_BASE!\php-8.4.12-nts"
set "PHP82=!PHP_BASE!\php-8.2.30-nts"
set "PHP80=!PHP_BASE!\php-8.0.15-nts"
set "PHP74=!PHP_BASE!\php-7.4.7-nts"
set "PHP72=!PHP_BASE!\php-7.2.29-nts"
set "PHP55=!PHP_BASE!\php-5.5.38-nts"
set "PHP53=!PHP_BASE!\php-5.3.29-nts"

:: 显示菜单
cls
echo ===================== PHP 版本切换工具 =====================
echo  请选择要切换的 PHP 版本:
echo  1. PHP 8.4.12
echo  2. PHP 8.2.30
echo  3. PHP 8.0.15
echo  4. PHP 7.4.7
echo  5. PHP 7.2.29
echo  6. PHP 5.5.38
echo  7. PHP 5.3.29
echo ==========================================================
set /p "choice=输入数字(1-7)并按回车:"

:: 赋值目标路径
set "TARGET_PHP="
if "!choice!"=="1" set "TARGET_PHP=!PHP84!"
if "!choice!"=="2" set "TARGET_PHP=!PHP82!"
if "!choice!"=="3" set "TARGET_PHP=!PHP80!"
if "!choice!"=="4" set "TARGET_PHP=!PHP74!"
if "!choice!"=="5" set "TARGET_PHP=!PHP72!"
if "!choice!"=="6" set "TARGET_PHP=!PHP55!"
if "!choice!"=="7" set "TARGET_PHP=!PHP53!"

:: 检查路径有效性
if not exist "!TARGET_PHP!\php.exe" (
    echo.
    echo 错误:PHP 路径不存在!路径:!TARGET_PHP!
    pause
    exit /b 1
)

:: 更新软链接
echo.
echo 正在切换到 PHP 版本:!TARGET_PHP!
if exist "!LINK_PATH!" (
    rmdir "!LINK_PATH!"
)
mklink /D "!LINK_PATH!" "!TARGET_PHP!" > nul

:: 验证结果
set "PATH=!LINK_PATH!;%PATH%"
echo.
echo 切换成功!当前会话 PHP 版本:
php -v
echo.
echo 全局生效:无需重启窗口,直接使用即可。
pause

endlocal