Установите опцию отображения, получая использование рабочей области в .bat

307
Guillaume Red

Я хотел бы сделать простой .bat, чтобы установить правильный вариант отображения в зависимости от использования экрана. Можете ли вы помочь мне?

Я не вижу, что не работает с тем, что я сделал до сих пор, но у меня мало опыта с cmd ...

#retrive virtual Screen with to compare to working area set VSW= [System.Windows.Forms.SystemInformation]::VirtualScreen.Width set WAW = [System.Windows.Forms.SystemInformation]::WorkingArea.width  #comparing and chose diplay option if %WAW% leq %VSW% ( displayswitch.exe /clone ) else displayswitch.exe /extend 
0
Короткий ответ: вы смешали код PowerShell вверху с кодом командного файла внизу. Выберите, который вы собираетесь использовать. Я рекомендую PowerShell. Appleoddity 5 лет назад 1
Спасибо, Appleddity, (не могу ответить в комментариях). Я не могу найти, как перевести в PowerShell ... Я не нахожу управление отображением в официальной документации ни в одном сообщении на форуме, используя поисковую систему. Guillaume Red 5 лет назад 0
`#` не является началом комментариев в пакетном режиме и не оставляет пробелов вокруг переменных, таких как `VSW = ...`. И сравнение таких строк не сработает phuclv 5 лет назад 0
Добро пожаловать в Супер пользователя! Похоже, вы создали вторую учетную запись, что также помешает вашей возможности комментировать в вашей теме и принимать ответ. См. [Как можно связать / объединить / объединить / связать две учетные записи / пользователей?] (Https://meta.stackexchange.com/questions/18232/how-can-one-link-merge-combine-associate-two-accounts ) и / или [Я случайно создал две учетные записи; как их объединить?] (https://stackoverflow.com/help/merging-accounts) для получения инструкций по объединению ваших учетных записей. DavidPostill 5 лет назад 0

1 ответ на вопрос

0
LotPings

Чтобы иметь синтаксически правильный скрипт powershell:

#retrive virtual Screen with to compare to working area Add-Type -Assembly System.Windows.Forms $VSW = [System.Windows.Forms.SystemInformation]::VirtualScreen.Width $WAW = [System.Windows.Forms.SystemInformation]::WorkingArea.width  #comparing and chose diplay option if (%WAW% -le %VSW%){ displayswitch.exe /clone ) else { displayswitch.exe /extend } 

Но это не будет (хорошо) работать, например, в системах с двумя мониторами или с боковой панелью.