日付や時間は環境変数に格納されている。日付は%date%に、時間は%time%に。
月や日付だけを取得したい、といったフォーマットを指定することができないため、%date%の文字を切り抜いて処理しないといけない。
普通に実行したとき
C:\> echo %time% 9:47:44.44
時間を取得
C:\> echo %time:~0,2% 9
うわ半角付きで返しやがった。10時だと問題ないが9時だと半角を返すので、時刻を起因とした見つけづらいバグを生むことが。
一度空白を0に置換した後に処理すれば問題ない。
C:\> set time_tmp=%time: =0% C:\> echo %time_tmp:~0,2% 09