ComPortScanner 取扱説明書

お使いのPCに挿さっている全 COM ポート(USB シリアル機器)を一覧表示し、機種を自動識別するツールです。COM 番号の変更と、その記録もできます
最終更新 2026-11-07 20:00  /  2026 年 11 月 3 日版  /  Windows 10・11(64bit)用  /  .NET のインストール不要(自己完結版)

本書について

1. このソフトについて

USB シリアル機器(M5Stack・Arduino・FTDI 変換ケーブルなど)を複数台つないでいると、「COM12 は結局どの機器だったか」がすぐ分からなくなります。本ソフトは Windows のレジストリと WMI から各 COM ポートの VID/PID(機器の種別を表す番号)を読み取り、どの COM 番号がどの機種かを自動判別して一覧表示します。

ComPortScanner 画面
実際の操作画面
項目内容
動作環境Windows 10 / 11(64bit)
.NET のインストール不要(自己完結版で配布しています)
ネットワーク不要(USB シリアル接続の情報のみを読み取ります)
照明・機器への影響ありません(COM ポートへの送信・書き込みは行いません)。COM 番号を変えたときだけ、その機器が一度切れてつながり直します
自動更新機器の抜き差しを Windows の知らせで受けてすぐ読み直し。ほかに 1 秒おきの軽い見回りと、30 秒おきの全体の読み直し

1-1. 似たツールとの使い分け

ツール向いている用途
ComPortScanner(本書)今どの COM 番号にどの機種が挿さっているかを一覧で確認
ComPortMonitor特定の COM ポートに実際に流れているシリアル通信の中身を確認

2. 入手方法

本ソフトは「LightJockey 道具一式 一発インストール手順」でまとめて配布されるツール群の 1 つです。単体配布は行っていません。

1配布フォルダから LjFullVerUP_latest.zip を落とします。
2C:\SetupAll を新しく作り、zip の中身を全部そこへ「すべて展開」します。
3Install-FullVerUP.cmd を右クリック →「管理者として実行」します。
これでスタートメニューに「ComPortScanner」が登録されます。以降はここから起動してください。

2-1. 機種名のカスタム設定

device_mapping.json(インストール先フォルダ内)で機種名の表示をカスタマイズできます。詳細は 5 章を参照してください。

3. 初回起動時の確認

「WindowsによってPCが保護されました」という青い警告が出た場合
「詳細情報」→「実行」を選んでください(社内ツールで Microsoft の署名がないために出る、一般的な警告です)。

4. 画面の見方

ウィンドウは小さめ(既定 320×400 px、最小 250×300 px)で、他の作業の邪魔にならないよう常に手前に置いておける大きさです。ダークテーマの一覧画面 1 枚だけのシンプルな構成です。

COM Port Scanner (26 11/03 21:29) ← タイトルバー(ビルド日時) ┌──────────────────────────────────────────────┐ │ [Refresh] [記録] Found 2 ports (幽霊 COM67 除外) │ ← 上部パネル ├─────────┬──────────────────────────┬───────┤ │ Port │ Device Name │ ID │ ← 列見出し ├─────────┼──────────────────────────┼───────┤ │ COM149 │ M5Stack (Silicon Labs CP210x) ... │ 01F051B0 │ │ COM156 │ M5Stack (Silicon Labs CP210x) ... │ 018BF64C │ ├─────────┴──────────────────────────┴───────┤ │ Ready │ ← 下部の固定表示欄 └──────────────────────────────────────────────┘
表示意味
タイトルバー「COM Port Scanner (ビルド日時)」。多重起動すると複数の窓を同時に開けます
Refresh ボタン設定ファイルを読み直したうえで、待たずにすぐ再スキャンします
記録 ボタン機器の ID 表と変更記録の窓を開きます(9 章・10 章)
ボタン右の状態ラベル「Ready」(起動直後)/「Found N ports」(検出数)/「Error」(赤字。スキャン失敗時)。幽霊 COM を外したときは「(幽霊 COM67 除外)」のように番号が出ます(4-1)
Port 列COM 番号(COM26 など)。小さい番号から順に並びます。重複は自動で除去して表示します
Device Name 列自動判別した機種名。判別方法の優先順位は 5 章参照
ID 列機器の ID。シリアル番号のある機器はシリアル番号(018BF64C など)、無い機器は挿した USB の口で決まる番号(8&2dd0e749&1&0000 など)です
行を右クリック「COM 番号を変更…」「この機器の変更記録」「ID をコピー」。行のダブルクリックでも番号の変更が開きます
下部の帯(常に「Ready」)固定の表示欄です。検出件数はボタン右の状態ラベルで確認してください

列の幅は見出しの境目をドラッグして変えられます。列の幅・ウィンドウの位置とサイズは、変えたその場で自動保存され、次回起動時に復元されます(7 章)。

4-1. 幽霊 COM(名前だけ残った番号)は出しません

COM ポートを開いたまま USB 機器を抜くと、Windows の COM の一覧に番号の名前だけが残ることがあります(機器はもう無く、開こうとしても「見つからない」になる)。本ソフトはこのような番号を「幽霊 COM」として一覧から外し、状態ラベルに「(幽霊 COM67 除外)」のように番号を出します。ポートを開かずに判定するので、使用中のポートには影響しません。

Windows 側に残った名前は、PC を再起動すると消えます。

5. 機種の自動識別について

Device Name 欄の表示内容は、次の優先順位で決まります。上にあるものほど優先されます。

優先度情報源内容
1(最優先)tool_M5 連携マップCOM 番号が一致すれば、役割名+IP アドレスをそのまま表示(6 章)
2device_mapping.json の手動指定COM 番号を直接指定した機種名。末尾に (manual) と付きます
3device_mapping.json のシリアル番号指定USB のシリアル番号から特定した機種名(同じ VID/PID の機器を個体ごとに区別したいとき用)
4VID/PID 自動判定(内蔵の対応表)下表のとおり、レジストリの VID/PID から機種を推定
5Windows(WMI)の説明文4 までで判別できなかった場合の予備情報
6(最後)—どれにも該当しなければ「Unknown Device」

5-1. 内蔵の VID/PID 対応表(抜粋)

VID:PID識別名
303A:1001M5Stamp-S3 または M5Stack Core S3(Espressif ESP32-S3)
303A:8120M5DIN Meter
10C4:EA60M5Stack(Silicon Labs CP210x)
1A86:7523M5Stack(CH340)
2341:xxxxArduino(Uno / Leonardo など型番も判定)
0403:xxxxFTDI(FT232 など)
067B:xxxxProlific PL2303
0483:xxxxSTM32(STMicroelectronics)
2886:802D / 1366:0105Wio Terminal(本体 / J-Link デバッグポート)
VID 303A・PID 1001 は複数の M5 製品で共用されているため、同じ番号でも機種が確定できないことがあります。個体を区別したい場合は 5-2 のとおり device_mapping.json にシリアル番号または COM 番号で登録してください。

5-2. device_mapping.json のカスタマイズ

実行ファイルと同じフォルダ(インストール先は C:\tool_cs\ComPortScanner\)にある device_mapping.json を編集すると、機種名を上書きできます。保存したら Refresh ボタンを押すとすぐ反映されます(押さなくても 30 秒以内に反映)。

{
  "deviceMappings": [
    {
      "name": "My M5Stamp",
      "patterns": [
        { "type": "serial", "value": "8&15adb4ef&2&0000" }
      ]
    },
    {
      "name": "CoreS3 + ISO RS485",
      "patterns": [
        { "type": "manual", "comPort": "COM30" }
      ]
    }
  ]
}

type: "serial" は USB のシリアル番号(デバイスマネージャーのプロパティで確認可)で指定、type: "manual" は COM 番号を直接指定します。

6. tool_M5 連携(役割名・IP アドレス表示)

社内の M5Stack 系デバイス書き込み管理ツール「tool_M5」が生成する連携ファイルを読み込むと、単なる機種名ではなく「その機器が何の役割で、どの IP アドレスを持っているか」まで Device Name 欄に表示できます(例:SuperMiniS3-SW8 (192.168.x.x))。

この機能は tool_M5 側の台帳が最新であることが前提です。IP アドレスが変わった・機器を挿し直して COM 番号がずれた、といった場合は tool_M5 側の台帳を更新してください(本ソフト側では直せません)。

7. 保存される設定

ウィンドウの位置・サイズ・列(Port / Device Name / ID)の幅と、ID 表の窓の位置・サイズ・列の幅は、変えたその場で scanner_settings.json へ自動保存され、次回起動時に復元されます(閉じ方に関係なく残ります)。設定ファイルは実行ファイルの場所を起点に探索して読み書きするため、インストール先を移動しても動作します。

8. COM 番号を変える

デバイスマネージャーの「ポートの設定 → 詳細設定 → COM ポート番号」と同じ変更を、一覧から直接できます。

1変えたい機器の行を右クリック →「COM 番号を変更…」(または行をダブルクリック)。
2新しい番号を選びます。右側に、その番号の状態が出ます。
表示意味
空いていますそのまま変えられます
★ 今つながっている別の機器が使用中変えられません(番号がぶつかるため)
Windows が予約済み(過去の機器)以前つないだ機器がその番号を持っています。変えるときに確認が出ます(その機器をまたつなぐと番号が重なります)
今の番号です変更はありません
3「変更」を押すと、Windows の管理者の確認(UAC)が出ます。「はい」を押すと番号が書き換わり、機器が自動で入れ直されて新しい番号になります(機器は一度切れてつながり直します)。
COM 番号の変更 — COM42 ┌────────────────────────────────────┐ │ Silicon Labs CP210x USB to UART Bridge (COM42) │ │ ID: 01F051B0 (10C4:EA60) │ │ │ │ 新しい番号を選んでください。変更には管理者の確認が出ます。 │ │ COM [ 149 ▲▼] 空いています │ │ [ 変更 ] [ やめる ] │ └────────────────────────────────────┘
その機器を使っているアプリは先に閉じてください。番号を変えると機器が一度切れるので、開いていたアプリは古い番号のまま通信できなくなります。
入れ直しに失敗したときは「USB を抜き差ししてください」と出ます。抜き差しすれば新しい番号になります。

変えた番号は、その機器(ID)に結び付いて覚えられます。同じ機器を同じ USB の口に挿せば、次からも新しい番号で出ます。シリアル番号の無い機器(4 章の ID 列が 8&… の形)は、別の USB の口に挿すと別の機器として扱われ、番号も別になります。

9. 変更記録(自動で残ります)

本ソフトは、機器の ID ごとに最後の COM 番号を覚えておき、変化があると記録に追記します。アプリを閉じている間に番号が変わった場合も、次に起動したときに記録されます。

出来事いつ残るか
初見このアプリが初めて見た機器
接続アプリを開いている間に機器がつながった
切断アプリを開いている間に機器が外れた
番号変更同じ機器が、前と違う COM 番号で現れた(デバイスマネージャーで変えた・Windows が付け直した など)
手動変更本ソフトから番号を変えた(8 章)

記録 ボタン →「記録(新しい順)」タブで見られます。1 台だけ見たいときは、一覧または ID 表の行を右クリック →「この機器の変更記録」(ID 表ではダブルクリック)。

変更記録
変更記録。COM42 の機器を COM149 に変え(手動変更)、入れ直しで一度切れてつながった(切断・接続)ところ
記録は自動で保存され、量も自動で整理されます。最新 3000 件を残し、それより古い分は自動で消します(ファイルは 1MB 前後で止まります)。保存のための操作はいりません。

10. ID 表(機器ごとの一覧)

記録 ボタン →「ID 表」タブ。機器 1 台を 1 行にまとめた表です。本ソフトが見た機器に加えて、Windows が覚えている過去の COM 機器(今はつながっていない物)も並びます。並び順は「接続中 → 本ソフトの記録あり → Windows だけが覚えている物」で、それぞれ COM 番号順です。

ID 表
ID 表。太字が今つながっている機器。COM4 には別の機器が 2 台登録されている(★ 1)
列意味
状態接続中(太字)/未接続
今の COMその機器に今割り当てられている番号(つながっていなくても Windows が覚えている番号)
重なり★ n = 同じ番号を持つ別の機器が n 台ある。その機器同士を同時につなぐと番号がぶつかります。8 章でどちらかの番号を変えると直ります
使った COM本ソフトの記録にある、その機器が今までに使った番号
ID / VID:PID / 名前機器の ID(4 章)、種別の番号、Windows での名前
初見 / 最後本ソフトが初めて見た日時 / 最後に見た日時
番号変更番号が変わった回数(番号変更+手動変更)
インスタンス IDWindows が機器を見分けるための正式な ID。右クリックでコピーできます

表の上には「機器 89 件(接続中 2・このアプリの記録あり 2)★ 番号が重なっている COM 7 個」のような合計が出ます。列見出しを押すとその列で並べ替えられます。

列の幅は、見出しの境目をドラッグして変えられます(「名前」が途中で切れるときは広げてください)。変えた幅と、窓の位置・大きさは保存され、次に開いたときも同じになります。

11. 困ったときは

Q. Device Name が「Unknown Device」のままです
内蔵の VID/PID 対応表に無い機種です。device_mapping.json にシリアル番号または COM 番号でマッピングを追加してください(5-2 参照)。
Q. 同じ VID/PID の機器を複数挿しているのに、どれがどれか区別できません
VID/PID だけでは個体を区別できません。device_mapping.json にシリアル番号マッピングを追加するか、COM 番号が固定されているなら手動マッピング(type: "manual")を使ってください。
Q. Device Name の末尾に「(manual)」と付いています
不具合ではありません。device_mapping.json の手動マッピング(COM 番号を直接指定した設定)が適用されていることを示す表示です。
Q. 抜いたはずの USB 機器がまだ一覧に残っています
抜いたあと 0.5 秒ほどで消えます。消えない番号は「幽霊 COM」として外されます(4-1)。すぐ確認したい場合は Refresh ボタンを押してください。
Q. 機器を抜いても、ずっと一覧に残っていた番号がありました
名前だけが残った「幽霊 COM」です(4-1)。最新版では一覧から外し、状態ラベルに番号を出します。PC を再起動すると Windows 側からも消えます。
Q. COM 番号を変えようとしたら「管理者の確認(UAC)で取り消されました」と出ました
確認の画面で「いいえ」を押したか、画面を閉じたためです。番号は変わっていません。もう一度変更して「はい」を押してください。管理者になれないアカウントでは番号を変えられません。
Q. 番号を変えたのに、挿し直したら別の番号になりました
シリアル番号の無い機器(ID が 8&… の形)を別の USB の口に挿すと、Windows は別の機器として扱い、別の番号を付けます。いつも同じ口に挿すか、その口で改めて番号を変えてください。ID 表で、同じ種類の機器が口ごとに別の行になっているのが確かめられます。
Q. ID 表に、知らない機器がたくさん並んでいます
Windows が覚えている過去の COM 機器です(今つながっていない物も含みます)。表示するだけで、何も変えません。
Q. Device Name に IP アドレスまで表示される機器と、機種名だけの機器があります
仕様どおりです。tool_M5 の連携ファイルに登録されている機器だけ役割名+IP アドレスが表示されます(6 章)。登録がない機器は通常の自動判別の結果(機種名のみ)になります。
Q. 起動時に「初期化エラー」というダイアログが出ます
表示されたエラーメッセージの内容を控えたうえで、配布元までお問い合わせください。
Q. 同じ COM 番号が一覧に 2 行出ます
通常は起きません(重複除去済みです)。起きる場合はドライバーの再インストールや USB の挿し直しをお試しください。

12. アンインストール

配布フォルダの uninstall.bat をダブルクリックすると、C:\tool_cs\ComPortScanner\ とスタートメニューのショートカットが削除されます。手で消す場合の場所は次のとおりです。

プログラムC:\tool_cs\ComPortScanner\
ショートカット%APPDATA%\Microsoft\Windows\Start Menu\Programs\ComPortScanner.lnk

13. 技術メモ(詳しい方向け)

機種判別の情報源WMI(Win32_SerialPort / Win32_PnPEntity)+レジストリ(HARDWARE\DEVICEMAP\SERIALCOMM / SYSTEM\CurrentControlSet\Enum\USB)
自動スキャンWM_DEVICECHANGE を 0.3 秒まとめて全スキャン。1000ms おきに COM 名の一覧(SERIALCOMM)だけ見て、変わった時と 30 秒おきに全スキャン。全スキャンは約 0.3 秒(大半が WMI の Win32_PnPEntity)で、区間ごとの時間を status.json の timingMs に出す。全スキャンのたびに device_mapping.json と tool_M5 連携マップを再読込
設定ファイルの探索実行ファイルのフォルダから親方向へ最大 8 階層まで探索し、見つかった場所を使用(開発環境/インストール環境の双方に対応するため)
tool_M5 連携ファイルの既定パスtool_M5 の _MANAGEMENT\com_device_map.json(device_mapping.json の toolM5MapPath で変更可)
AI 向け状態出力実行ドライブの \tmp\ai_comscan\ に status.json・latest.txt・README_AI.txt をスキャンごとに出力(tool_cs の AI 操作可能設計)。status.json の各ポートには serial・instanceId も入ります
変更記録同じ \tmp\ai_comscan\ に history.txt(人向け)・history.jsonl(1 行 1 件の JSON)・known_devices.json(ID → 最後の COM・使った COM・回数)。最新 3000 件を残し、3500 件を超えたら古い分を消す
幽霊 COM の判定QueryDosDevice("COMn") が「見つからない」(エラー 2)を返す番号を外す。ポートは開かない
COM 番号の変更自分自身を管理者で --set-port <インスタンス ID> COMn 付きで起動し、Enum\<ID>\Device Parameters\PortName を書き換え、表示名(FriendlyName)を SetupAPI で直し、COM Name Arbiter\ComDB に新番号の印を立て、pnputil /restart-device で入れ直す。前の番号の予約は残す(Windows の既定の動きと同じ)
ID 表の「Windows が覚えている機器」SYSTEM\CurrentControlSet\Enum の下で、ポートの種類({4D36E978-…})の機器の PortName を、表を開いたときに 1 回読む
ビルド自己完結ビルド(win-x64)。.NET ランタイムの別途インストールは不要。ビルド日時はタイトルバーに表示
ComPortScanner 取扱説明書 ―― 2026 年 11 月 3 日版
画面例・手順は Windows 11(64bit)で確認しています。ご不明な点は配布元までお問い合わせください。