我正在寻找允许我从命令行访问 Windows 音量级别的工具或脚本。理想情况下,它允许我获取和设置所有卷,包括应用程序级别,但我只接受获取,并且只满足主级别。我不介意它使用PowerShell、WMI、JavaScript、.Net、 Voodoo 或蝴蝶。任何只会给我一个数字的解决方案,我可以进一步处理以适应从 0% 到 100% 的范围。
换句话说,提示部分是我需要填充的黑匣子:
C:\> getvol master
50
Run Code Online (Sandbox Code Playgroud)
甚至
C:\> wmic <alias> where "device='master' and name='volume'" get name,value
Name Value
Volume 0xDEADBEEF
Run Code Online (Sandbox Code Playgroud)
我不介意我是否必须花一些时间来包装它,或者如果可以免费获得这样做的工具,我什至自己编写一些东西。在后一种情况下,我需要一些核心的指针/概念证明,但我可以自己管理这些问题。此外,我想避免为此目的安装新的开发框架(请注意,在我介绍这些要求之前,music2myear和iglvzx 的答案都已给出)。
作为“平台”,我有:
通常,开源解决方案是非常受欢迎的。闭源工具是可以的,只要它们是免费软件并且来源是可信的。商业解决方案是行不通的。
我对 Windows 音量混合器有问题,其中某些应用程序的运行音量低于其他应用程序。
我知道这是因为 Windows 音量混合器允许单个应用程序以不同的音量运行,但调整音量似乎是相对的:
有没有办法强制所有应用程序(当前和将来打开的应用程序)以 100% 的设备容量运行?
我知道我通过将值设置为与设备音量相同来分别重新同步每个应用程序,但是对于我将来打开的已经取消同步的应用程序,我无法这样做。有没有办法在不单独打开每个应用程序并重新设置音量的情况下实现这一目标?
我想知道是否有办法通过键盘快捷键将混音器中的特定应用程序静音/取消静音。
例如,通过 CTRL MW 将 Winamp 的声音静音/取消静音。我不是在询问一般的静音问题,因为在 Windows 7中是否有静音静音的快捷方式?,而是特定应用程序的声音。

可能的重复:
Vista/Win7 音量混合器设置存储在哪里?
只要 exe 文件不改变,Windows 7 的音量混合器通常会保存单个程序的音量级别。
但是,由于某种原因,此功能在我的计算机上停止工作。每个程序都以最大音量打开,这对我当前的扬声器配置非常不满意。如果我设置了这个音量并关闭了程序,下次我打开它时(无论是否重启),它都会再次处于最大音量,不记得我的设置。
是否有要调整的设置或注册表项,以使此功能再次起作用?或者问题与保存这些设置的位置(无论在哪里)有关?
(在 SU 上还有关于这个主题的其他问题,但没有一个是关于这个特定问题的,也似乎没有给出关于这个问题的提示)
audio ×4
windows-7 ×3
volume-mixer ×2
command-line ×1
cygwin ×1
mixer ×1
script ×1
windows-10 ×1