揮発性のメモ2

知識をメモ書きしておく

COMポート一覧取得

var sw = new ActiveXObject("WbemScripting.SWbemLocator")
var cs = sw.ConnectServer();

var message = "";

var comlist = cs.ExecQuery("Select * from Win32_PnPEntity");
var e = new Enumerator(comlist);
for(; !e.atEnd(); e.moveNext()){
    var a = e.item();
    if( a.Name.match(/\(COM\d+\)/) ) message += a.Name + "\n";
}

WScript.Echo(message);

検索したところ、WMIをうねうねすれば取得できることがわかりました
悩む日 - じーえす風の日記

Win32_SerialPortを探してもUSBシリアル変換のポートは出てこないので、結局全検索
http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/sept04/hey0928.mspx

Windows2000だと、WMIクエリに LIKE演算子が使えない!
http://www.microsoft.com/japan/technet/scriptcenter/topics/win2003/like.mspx

仕方ないので結局全部取得してから選別