calendar.vbs
calendar(1) はなかなか便利だし、シンプルさが Unix らしくて好きなコマンドなのだが、Redhat には入っていないし、あまり知られていないようだ。
これを Windows でも使いたいので VBScript で書いてみた。スタートアップに入れるとちょうどいいかも。
カレンダーファイルのフォーマットは、VBScript で処理しやすいように少し変えた。
バグあるかも。
CALENDAR_FILE = "c:\calendar.txt" Set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(CALENDAR_FILE) Then Set file = fso.OpenTextFile(CALENDAR_FILE) While Not file.AtEndOfStream Lin = file.ReadLine Lin = Replace(Lin, Chr(9), " ") If InStr(Lin, ",") > 0 Then Fields = Split(Lin, ",", 2) a = Split(Fields(0), "/") b = Split(Date(), "/") ShowMsg = False Y = Empty M = Empty D = Empty If UBound(a) >= 2 Then Y = Trim(a(0)) M = Trim(a(1)) D = Trim(a(2)) ElseIf UBound(a) >= 1 Then Y = Trim(b(0)) M = Trim(a(0)) D = Trim(a(1)) Else WDayNames = Array("sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday") WDay = Weekday(Date()) If WDayNames(WDay - 1) = LCase(Trim(a(0))) Then ShowMsg = True End If End If If Y = b(0) And M = b(1) And D = b(2) Then ShowMsg = True End If If ShowMsg Then MsgBox Trim(Fields(1)) End If End If Wend file.Close End If
カレンダーファイルのサンプル。
friday, 金曜です。 11 / 17 , もげもげ 2006/11/17,カンマも,含められます。