【Windows】MultiMonitorToolを使ってモニター設定を自動化するバッチスクリプト紹介

インフラ

はじめに

複数モニター環境を利用していると、作業に応じてモニター構成を変更したい場面がよくあります。
GUIで都度設定するのは面倒ですが、MultiMonitorToolとバッチスクリプトを使えば、
モニターの構成を一括で自動化できます。

使用ツール:MultiMonitorToolとは?

MultiMonitorTool は、NirSoft製のフリーソフトで、
コマンドラインからモニターの有効化/無効化、プライマリ変更、解像度変更などが行えます。

  • 対応OS: Windows 7以降(64bit/32bit)
  • 主な機能: モニターの有効化/無効化、解像度・配置設定、プライマリ切り替えなど

スクリプト全体の概要

@echo off
rem ディレクトリ移動
cd C:\Program Files (x86)\multimonitortool-x64

rem 全モニター起動
MultiMonitorTool.exe /enable 1
timeout /t 5 /nobreak >nul
MultiMonitorTool.exe /enable 2
timeout /t 5 /nobreak >nul
MultiMonitorTool.exe /enable 3
timeout /t 5 /nobreak >nul

rem 作業用設定

MultiMonitorTool.exe /SetPrimary "XMDF09D"

timeout /t 5 /nobreak >nul

MultiMonitorTool.exe /SetMonitors "Name=MONITOR\XMDF09D\{4d36e96e-e325-11ce-bfc1-08002be10318}\0001 BitsPerPixel=32 Width=3840 Height=2160 DisplayFlags=0 DisplayFrequency=144 DisplayOrientation=0 PositionX=0 PositionY=0"

timeout /t 10 /nobreak >nul

MultiMonitorTool.exe /disable "AUS2768"
timeout /t 10 /nobreak >nul

MultiMonitorTool.exe /disable "BNQ7F7A"

スクリプトの処理内容(ステップ解説)

1. MultiMonitorToolのパスへ移動

MultiMonitorTool.exe のあるディレクトリに移動します。

2. 全モニターの有効化

接続されているモニターを全て一時的に有効化します。

3. プライマリモニターの設定

“XMDF09D” というモニターをプライマリに設定します。識別名は /scomma オプションで一覧取得可能です。

4. 解像度やリフレッシュレートの設定

表示品質や物理配置を詳細に指定します。

5. 他モニターの無効化

不要なモニターを識別子で指定して無効化します。

実行結果

このスクリプトをダブルクリックするだけで、

  • 3つのモニターが一時的に有効化
  • 指定モニターをプライマリに設定
  • 解像度・リフレッシュレートのカスタム適用
  • 不要なモニターを自動で無効化

という一連の作業が自動で完了します。

まとめ

MultiMonitorTool を使えば、作業用・会議用など状況に応じたモニター構成の切り替えを一発で行うことができます。
本記事のスクリプトをベースに、自分の用途に応じてカスタマイズしてみてください。

補足

処理の流れとして、全モニタを有効化→指定モニターをプライマリに指定→解像度設定→不要なモニターを無効化という流れで設定していますが、この一連の流れで実行しないとモニターの読み込みに不整合が発生し、処理が停止してしまいます。その為この流れは必ず守るようにしてください。

また、モニターナンバー、モニターIDで指定している箇所がありますが、これも必ず守ってください。
※モニターIDをモニターナンバーで指定する等はしないこと。

コメント

タイトルとURLをコピーしました