Se você quiser que seu arquivo de lote sempre mude para a tela outro , ele pode fazer isso usando um arquivo de sinalizador para lembrar qual tela foi ativada pela última vez. Veja como:
@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%"
)
Basicamente, o script usa a existência / não existência do arquivo de sinalização como um indicador da exibição que ativou na última vez que foi executado. Contanto que você coloque o arquivo de sinalizador em algum lugar que não possa ser perturbado, ele irá alternar fielmente o comportamento do script entre as execuções.