Windows で 有効な COMポートをDOSから 調べる方法【改良版】
windowsで有効なCOMポートの確認の方法として、DOSプロンプトでmodeコマンドを使うというのがある。一つの難点は使用中のCOMポートが現れない点があげられる。 |
こういうのが流れてきたので、使用中でもわかる方法を…。
ECHO OFF FOR /L %a in (1,1,9) do ( MODE COM%a /STATUS | FIND "COM" ) |
バッチでこれを実行するだけ
@ECHO OFF FOR /L %%a in (1,1,9) do ( MODE COM%%a /STATUS | FIND "COM" ) |
バッチファイルならこうだね
実行結果
デバイス名が無効です - COM1 デバイス COM2 は現在使用できません。 ← 使用中 デバイス状態 COM3: ← 利用可能 デバイス状態 COM4: ← 利用可能 デバイス名が無効です - COM5 デバイス名が無効です - COM6 デバイス名が無効です - COM7 デバイス名が無効です - COM8 デバイス名が無効です - COM9 |
|。・ω・)。o ( これでどうっすかね )
この便利なバッチファイル、ありがたく使わせていただきます。
当方は複数のUSB-Serial変換器を持っており、変換器ごとにCOMポート番号が異なるため、いろいろと不便でした。
MODEコマンドはMS-DOSの時代からあったような気がします。
昔、RS-232Cの通信パラメータを設定するときに使ったような...
ちょっこし拡張してみました。
これでどうっすか?
remのif文を有効にすれば、ポップアップ表示になります。
@ECHO OFF
rem /; if not “%~0″==”%~dp0.\%~nx0” “%~dp0.\%~nx0” | msg console /time:0 & goto :eof
FOR /L %%a in (1,1,9) do (
MODE COM%%a /STATUS | FIND “COM%%a は現在使用できません。” > NUL && ECHO;【 COM%%a 】 は使用中です。
MODE COM%%a /STATUS | FIND “デバイス状態 COM%%a:” > NUL && ECHO;【 COM%%a 】 安心して下さい!春日のここは空いてます。
MODE COM%%a /STATUS > NUL && ECHO;
)