%DATE%と%TIME%はよく使うんだけどこんなこともできるんだと・・・
これは普通のパターン
C:\>echo %DATE%
2009/11/20
C:\>echo %TIME%
23:35:33.38
だけど:[before]=[after]を使うと変数内の特定文字を変換できる
C:\>echo %date:/=-% <--- スラッシュをハイフンに
2009-11-20
C:\>echo %time::= % <--- コロンを空白に
23 41 35.42
C:\>echo %time::=% <--- コロンをなんも無しに
234135.42
そこでよくあるのがtimestamp処理
LOGファイル名の自動生成などで使いますよね
C:\>echo %DATE:/=%%TIME::=%
20091120234921.37
でもここで課題が二つ
(1)ミリ秒の後ろ三ケタがジャマ
(2)AM10:00以前のヒトケタ空白をどうするか
C:\>time /t
01:52
C:\>echo %TIME%
1:54:02.80
C:\>echo %DATE:/=%%TIME::=%
20091120 15424.15
TIME/Tだとゼロがつくのにぃ・・・・
みんなどうしてるのかな?