批处理文件首先检查我正在使用哪个屏幕,然后切换到另一个屏幕

批处理文件首先检查我正在使用哪个屏幕,然后切换到另一个屏幕

我有两台显示器,我想使用自动热键和红外遥控器在它们之间切换。我让红外遥控器在按下按钮时运行 .bat 文件,但我不太清楚如何检查当前正在使用哪台显示器。因此,例如,我想要这样的东西:

@echo 关闭

如果显示器是外置的

DisplaySwitch.exe /内部

) 别的 (

DisplaySwitch.exe /外部

基本上,我无法弄清楚这种情况下的“if”命令是什么(无论如何,我都不是一个超级用户)。

谢谢大家的帮助〜!

答案1

如果您希望批处理文件始终切换到其他显示,它可以通过使用标志文件记住最后激活的是哪个显示器。操作方法如下:

@echo off
Setlocal
Set myFlag=c:\somefolder\monitor.flg
if Exist "%myFlag%" (
    rem flag exists. Activate internal display. Then delete flag.
    DisplaySwitch.exe /internal
    del /q "%myFlag%"
) else (
    rem flag does not exist. Activate external display. Then create flag
    DisplaySwitch.exe /external
    Echo I'm a flag for myScript.cmd>"%myFlag%"
)

基本上,脚本使用标志文件的存在/不存在作为上次运行时激活的显示指示。只要您将标志文件放在不会被干扰的地方,它就会在执行之间忠实地切换脚本的行为。

相关内容