无忧启动论坛

标题: 如何用批处理或powershell判断电脑上是否插好了音箱或耳机 [打印本页]

作者: 2013kyj    时间: 昨天 16:15
标题: 如何用批处理或powershell判断电脑上是否插好了音箱或耳机
是这样的, 当我电脑上没插耳机或音箱, 桌面右下角的音量图标上会有一个红X, 插上后就消失了, 我想知道, 用什么批处理命令或powershell代码能进行判断, 用gpt试了好多轮都没有解决

作者: 忧心的启    时间: 昨天 18:01
学习学习,感谢分享。
作者: nianyueriPE    时间: 昨天 18:07
谢谢分享
作者: nianyueriPE    时间: 昨天 18:07
学习了
作者: 15126222223    时间: 昨天 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
复制代码





作者: YWFhYmJi    时间: 昨天 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
作者: 2012sunyu4506    时间: 14 小时前
谢谢分享,支持个。




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./) Powered by Discuz! X3.3