@echo off chcp 65001 >nul setlocal enabledelayedexpansion title 核价器协议注册 set "PROTOCOL=kfzgs" set "EXE_NAME=kfz-goods-pricing.exe" set "SD=%~dp0" set "SD=%SD:~0,-1%" set "EXE=%EXE_NAME%" if not "%EXE:~1,2%"==":\" set "EXE=%SD%\%EXE%" if not exist "%EXE%" ( echo [ERR] 未找到: %EXE% pause goto :eof ) for %%A in ("%EXE%") do set "EXE_DIR=%%~dpA" set "EXE_DIR=%EXE_DIR:~0,-1%" echo ============================================ echo 核价器协议注册 echo ============================================ echo Protocol: %PROTOCOL%:// echo EXE: %EXE% echo WorkDir: %EXE_DIR% echo ============================================ echo. reg delete "HKCR\%PROTOCOL%" /f >nul 2>&1 reg add "HKCR\%PROTOCOL%" /ve /d "URL:%PROTOCOL% Protocol" /f >nul reg add "HKCR\%PROTOCOL%" /v "URL Protocol" /d "" /f >nul reg add "HKCR\%PROTOCOL%\DefaultIcon" /ve /d "\"%EXE%\",0" /f >nul reg add "HKCR\%PROTOCOL%\shell\open\command" /ve /d "cmd /c start \"\" /D \"%EXE_DIR%\" \"%EXE%\" \"%%1\"" /f >nul if !errorlevel! equ 0 ( echo [OK] %PROTOCOL%:// 注册成功 echo 测试: Win+R ^> %PROTOCOL%://launch ) else ( echo [FAIL] 请右键以管理员身份运行 ) echo. pause