자동 핫키 사용과 IR 리모컨 사용을 전환하려는 두 개의 모니터가 있습니다. 버튼을 누를 때 .bat 파일을 실행하는 IR 리모컨이 있지만 현재 사용중인 모니터를 확인하는 방법을 알 수 없습니다. 예를 들어 다음과 같은 것을 원합니다.
@ 에코 오프
디스플레이가 외부인 경우
DisplaySwitch.exe / internal
) 그 외 (
DisplaySwitch.exe / external
)
기본적 으로이 상황에 대한 “if”명령이 무엇인지 알 수 없습니다 (확실히 수퍼 유저가 아님).
모든 도움에 감사드립니다 ~!
답변
배치 파일이 항상 다른 디스플레이로 전환되도록하려면 플래그 파일 을 사용하여 마지막으로 활성화 된 디스플레이를 기억하면됩니다. 방법은 다음과 같습니다.
@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%"
)
기본적으로 스크립트는 플래그 파일의 존재 여부를 마지막으로 실행했을 때 활성화 된 표시를 나타내는 지표로 사용합니다. 플래그 파일을 방해 할 수없는 곳에두면 실행간에 스크립트 동작을 충실하게 토글합니다.