无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 274|回复: 6
打印 上一主题 下一主题

[求助] 如何用批处理或powershell判断电脑上是否插好了音箱或耳机

[复制链接]
跳转到指定楼层
1#
发表于 前天 16:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
是这样的, 当我电脑上没插耳机或音箱, 桌面右下角的音量图标上会有一个红X, 插上后就消失了, 我想知道, 用什么批处理命令或powershell代码能进行判断, 用gpt试了好多轮都没有解决
2#
发表于 前天 18:01 | 只看该作者
学习学习,感谢分享。
回复

使用道具 举报

3#
发表于 前天 18:07 | 只看该作者
谢谢分享
回复

使用道具 举报

4#
发表于 前天 18:07 | 只看该作者
学习了
回复

使用道具 举报

5#
发表于 前天 22:03 | 只看该作者
检查音频设备,是否满足楼主需求。
第一段


  1. [url=home.php?mod=space&uid=336905]@echo[/url] off
  2. title 音频设备检测
  3. color 0A

  4. echo 正在检测音频设备...
  5. :: 模拟检测结果
  6. set /p input=输入任意键继续(模拟结果: 检测到音频设备)...
  7. echo.
  8. echo 检测到音频设备: Realtek High Definition Audio
  9. pause
复制代码


第二段
  1. @echo off
  2. title 音频设备检测
  3. color 0A

  4. echo 正在检测音频设备...
  5. powershell -Command "Get-CimInstance Win32_SoundDevice | ForEach-Object { $_.Name }"
  6. if errorlevel 1 (
  7.     echo 检测失败,请检查系统设置。
  8. ) else (
  9.     echo 检测完成。
  10. )
  11. pause
复制代码




回复

使用道具 举报

6#
发表于 前天 22:56 | 只看该作者
  1. $flag = 0
  2. ForEach($i in $(Get-PnpDevice -Class AudioEndpoint -Status OK -ErrorAction SilentlyContinue | Where-Object { $_.DeviceID -match "{\d\.\d\.0\.\d*}" }))
  3. {
  4.         if((Get-ItemProperty -path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\$($i.DeviceID.Substring($i.DeviceID.LastIndexOf('.')+1).ToLower())" -Name 'DeviceState').DeviceState -lt 268435456)
  5.         {
  6.                 $flag = 1
  7.                 break
  8.         }
  9. }
  10. if($flag -eq 1) {
  11.         echo "OK"
  12. } else {
  13.         echo "NO AUDIO DEVICE"
  14. }
复制代码

来源:hxxps://github.com/h4ppywastaken/WindowsAudioConfigurator/blob/main/WindowsAudioConfigurator.ps1
回复

使用道具 举报

7#
发表于 昨天 00:57 | 只看该作者
谢谢分享,支持个。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-1-16 01:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表