从 cmd/powershell 连接到蓝牙设备是否有比蓝牙命令行工具中的 btcom 更快的方法?

问题描述 投票:0回答:1

我编写了一个 Powershell 脚本,允许我将蓝牙耳机连接到我的电脑,而无需每次打开蓝牙设置页面(基于 https://github.com/stanleyguevara/win10-bluetooth 中的内容) -headphones,但使用

Get-PnPDevice
Get-PnPDeviceProperty
检查设备是否已连接,而不是使用环境变量来保存状态)。

该脚本有效,但存在一个大的生活质量问题。该脚本使用蓝牙命令行工具here来连接/断开设备(特别是,它使用

btcom
命令)。然而,这些命令的运行速度非常慢,整个过程总共需要大约一分钟。即使我使用设备的 MAC 地址而不是其友好名称(这会更慢)进行连接,情况也是如此。这使得使用脚本比每次打开设置面板要慢得多(尽管打开设置面板不太方便,因为它需要打开并浏览多个窗口)。

我见过很多关于此类事情的问题(如何从 cmd/powershell 连接/断开蓝牙设备,但我所看到的有关 Windows 的所有内容都倾向于建议使用上面链接中的蓝牙命令行工具,因此它们不能解决速度问题。我发现的其他事情建议完全禁用蓝牙适配器,这不是我想要做的。其他人建议使用 Win+K 快捷方式打开连接侧面板,但这并不'并没有真正解决是否有办法从 cmd/powershell 执行此操作的问题,并且自动化程度稍低,因为您必须等待一秒钟才能填充列表并手动导航到设备以连接/断开连接(尽管至少它解决了打开一堆窗口的问题)。

有没有比

btcom
更快的方法在 cmd/powershell 中连接/断开蓝牙设备?

windows powershell cmd bluetooth
1个回答
0
投票

这是我使用cmd打开/关闭蓝牙的解决方案:

    @echo off

设置本地启用延迟扩展

设置“蓝牙状态=” 设置“命令=”

:: 检查当前蓝牙状态 for /f "tokens=3 delims=: " %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Radio Management" /v "启用" ^| find "启用"') do ( 设置“蓝牙状态=%%a” )

if /i "%bluetoothStatus%"=="0x1" ( 设置“命令=停止” ) 别的 ( 设置“命令=开始” )

:: 执行命令 if /i "%command%"=="开始" ( echo 正在打开蓝牙... 网络启动 bthserv ) 别的 ( echo 正在关闭蓝牙... 网络停止bthserv )

:: 显示更新的蓝牙状态 for /f "tokens=3 delims=: " %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Radio Management" /v "启用" ^| find "启用"') do ( 设置“蓝牙状态=%%a” )

if /i "%bluetoothStatus%"=="0x1" ( echo 蓝牙现已开启。 ) 别的 ( echo 蓝牙现已关闭。 )

本地结束

将上述代码保存在扩展名为.bat的文件中,例如laosBlue.bat。要使用它,双击批处理文件,它将在打开和关闭之间切换蓝牙状态。

© www.soinside.com 2019 - 2024. All rights reserved.