« 今日のお天気とごはん | トップページ | 今日は部署の忘年会。 »

2008年12月19日 (金)

バッチファイルの中で、ファイル名に日付と時間をつけたいときには?

ちょこっと文字列操作すれば桶ですた。
例えば、"YYYYMMDD-HHMM.log" なファイル名を作りたいとします。まず、%DATE%っていう環境変数に、"/"で区切ってセットされているので、"/" を、nullに置換して、別の変数に代入します。

set TODAY=%DATE:/=%

TIMEコマンドの場合は、":"をnullに置換し、

set NOW=%TIME::=%

さらに時と分だけを切り出します。

set NOW=%NOW:~0,4%

でもこれだと、午前1時なんかは、" 100"になっちゃうので、" "(スペース)を"0"に置換します。

set NOW=%NOW: =0%

これで、ファイル名ができました♪

set FILENAME=%TODAY%-%NOW%.log

あー、XP上で確認しました。W2Kでは動きません。日付の先頭に、曜日が入るからです。
そこで、後ろから、10文字分取り出してから、"/"をnullに置換します。

set TODAY=%date:~-10%
set TODAY=%TODAY:/=%

あとは、おんなじ。

|

« 今日のお天気とごはん | トップページ | 今日は部署の忘年会。 »

Windows」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/163245/43490822

この記事へのトラックバック一覧です: バッチファイルの中で、ファイル名に日付と時間をつけたいときには?:

« 今日のお天気とごはん | トップページ | 今日は部署の忘年会。 »