トップ «前の日記(2015-07-13) 最新 次の日記(2015-07-15)» 編集

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|12|
2024|01|02|03|04|

2015-07-14 :-(

_ 午前

0530 起床

0710 食堂

0800 労働

_ 午後

1300 労働

1630 残業

_

2145 退勤

_ [COM番号][Windows][teraterm][ruby][シリアルポート]有効なシリアルポートを全て TeraTerm で開く

Windows 7 + ruby 2.2.2

Win32OLE か。闇だ。

require 'open3'
require 'win32ole'

# 有効なシリアルポートの一覧をハッシュで返す。
# (ポート名が key、接続機器の名前が value)
def serialports
  locator = WIN32OLE.new("WbemScripting.SWbemLocator")
  services = locator.ConnectServer()

  comlist = {}

  # 内蔵シリアルポート一覧を取得
  services.ExecQuery("SELECT * FROM Win32_SerialPort").each do |item|
    comlist[item.DeviceID] = item.Name
  end

  # PnPシリアルポート一覧を取得
  services.ExecQuery("SELECT * FROM Win32_PnPEntity").each do |item|
    comlist[$1] = item.Description if item.Name =~ /\((COM\d+)\)/
  end

  return Hash[
    # シリアルポート名に含まれる数字も考慮し昇順にソート
    comlist.sort_by {|k, v|
      k.scan(/(\d+)|([^\d]+)/).map{|s|
        s[0] ? [0, s[0].to_i] : [1, s[1]]
      }
    }
  ]
end

#puts serialports.map{|k, v| "#{k}: #{v}"}

serialports.each_key {|com|
  spawn "C:/Program\ Files\ \(x86\)/teraterm/ttermpro.exe", "/c=#{com}"
}

ref.