@echo off setlocal EnableDelayedExpansion :: 检查管理员权限 net session >nul 2>&1 if %errorLevel% neq 0 ( echo 检测到缺少管理员权限...设置中需要修改系统注册表,此操作需要管理员权限。 echo 正在请求管理员权限... powershell -Command "Start-Process -FilePath '%0' -Verb RunAs" exit /b ) :: 设置蓝牙自动连接注册表项路径 set "regPath=HKLM\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Devices" :: 获取当前蓝牙自动连接状态 set "autoConnect=0" for /f "tokens=3" %%a in ('reg query "%regPath%" /v "AutoConnectPolicy" 2^>nul ^| find "REG_DWORD"') do ( set "autoConnect=%%a" ) :: 判断当前状态并切换 if %autoConnect% equ 0 ( echo 启用蓝牙自动连接... reg add "%regPath%" /v "AutoConnectPolicy" /t REG_DWORD /d 0x00000003 /f echo 蓝牙自动连接已启用。 ) else ( echo 禁用蓝牙自动连接... reg add "%regPath%" /v "AutoConnectPolicy" /t REG_DWORD /d 0x00000000 /f echo 蓝牙自动连接已禁用。 ) :: 重启蓝牙服务确保设置生效 echo. echo 正在重启蓝牙服务以应用更改... net stop bthserv >nul 2>&1 net start bthserv >nul 2>&1 echo. echo 操作已完成! pause
zjl3480 发表于 2025-7-1 14:39 @echo off setlocal EnableDelayedExpansion [Bash shell] 纯文本查看 复制代码@echo off setlocal EnableDelayedExpansion :: 检查管理员权限 net session >nul 2>&1 if %errorLevel% neq 0 ( echo 检测到缺少管理员权限...设置中需要修改系统注册表,此操作需要管理员权限。 echo 正在请求管理员权限... powershell -Command "Start-Process -FilePath '%0' -Verb RunAs" exit /b ) :: 设置蓝牙自动连接注册表项路径 set "regPath=HKLM\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Devices" :: 获取当前蓝牙自动连接状态 set "autoConnect=0" for /f "tokens=3" %%a in ('reg query "%regPath%" /v "AutoConnectPolicy" 2^>nul ^| find "REG_DWORD"') do ( set "autoConnect=%%a" ) :: 判断当前状态并切换 if %autoConnect% equ 0 ( echo 启用蓝牙自动连接... reg add "%regPath%" /v "AutoConnectPolicy" /t REG_DWORD /d 0x00000003 /f echo 蓝牙自动连接已启用。 ) else ( echo 禁用蓝牙自动连接... reg add "%regPath%" /v "AutoConnectPolicy" /t REG_DWORD /d 0x00000000 /f echo 蓝牙自动连接已禁用。 ) :: 重启蓝牙服务确保设置生效 echo. echo 正在重启蓝牙服务以应用更改... net stop bthserv >nul 2>&1 net start bthserv >nul 2>&1 echo. echo 操作已完成! pause