如何运行 Windows bat 文件以便允许我连接和断开特定显示器?

如何运行 Windows bat 文件以便允许我连接和断开特定显示器?

显示设置

我有三个显示器。显示器 1 是通过 DP 连接的物理显示器。显示器 2 是通过 HDMI 连接的物理显示器。显示器 3 是虚拟的显示器(使用虚拟 HDMI 插头)。我使用的是 Windows 11 21H2。

我想创建两个 .bat 脚本。第一个 bat 脚本将启用仅显示 1 和 2(显示 3 将断开连接)。第二个 .bat 脚本将启用仅显示 3(显示器 1 和 2 将断开连接)。

我怎样才能做到这一点?


到目前为止我已经尝试过:

我一直在试验DisplaySwitch.exe。问题是,当我运行时,DisplaySwitch.exe /internal系统仅使用显示器 1(显示器 2 和 3 断开连接)。

我希望找到一个简单的命令来完成我想要的操作,例如DisplaySwitch.exe /1 /2使用显示器 1 和 2,以及DisplaySwitch.exe /3使用显示器 3。

答案1

尝试https://www.nirsoft.net/utils/multi_monitor_tool.html

运行它并读取监视器 ID 和序列号列。然后您可以启用/禁用监视器,例如

MultiMonitorTool.exe /enable  monitor_identifier [monitor_identifier] 
MultiMonitorTool.exe /disable monitor_identifier [monitor_identifier]

作为监视器标识符,您可以使用

  • 监视器 ID,显示在“监视器 ID”列中,例如:MONITOR\GSM59A4{4d36e96e-e325-11ce-bfc1-08002be10318}\0008 -

  • 显示器的序列号,如“显示器序列号”列中所示。

答案2

displayswitch 有 4 个参数

  • /内部的
  • /外部的
  • /延长
  • /克隆

我猜,

For 1 & 2 you want /extend
For 3 only, use /external (provided 2 is not connected)

我知道 /extend 可以工作,但是我的老显示器没有 HDMI 连接,所以我无法为您测试它。

答案3

不幸的是,您正在寻找的内容超出了批处理脚本的范围 - 除非它只是用作另一个可执行文件的包装器。

此功能可能存在于 PowerShell 中 - 请查看 WMI 类 - 并且肯定存在于 .NET 中。如果这是必须自动化的事情,您应该探索使用其中一个平台来执行此操作,或者找到可以处理此问题的第三方应用程序。

值得指出的是 - 虽然我并不是建议您切换操作系统作为解决方案 - 但是这可以使用 xrandr 等常见软件包在 Linux 系统上的 bash 脚本中轻松完成。

相关内容