コマンドプロンプト(バッチ)で日時を使用する

ログやファイル名にやっぱり付けたいのが日時です。

文字列の抜き出し

c:\>echo %date% %time%
2012/12/22  9:02:59.48

となります。

変数から文字列を抜き出すには %変数:~s,e%  でs文字目からe文字目を抜き出します。

0から始まりますのでyyyy-mm-dd hh:mi:ssと抜き出すには

c:\>echo %date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2%:%time:~6,2%
2012-12-22  9:10:33

とします。

でも見ての通り09時と欲しいところが△9時となっています。

文字列の置き換え

変数の文字を置き換えるには%変数:=f,r% としfをrに置き換えます。
c:\>echo %time%
 9:14:18.68
c:\>echo %time: =0%
09:14:18.68

日時を取得するバッチ

結果として事前に0詰めしてやった変数を使用することになります。

set yyyymmdd=%date: =0%
set hhmmss=%time: =0%
echo echo %yyyymmdd:~0,4%-%yyyymmdd:~5,2%-%yyyymmdd:~8,2% %hhmmss:~0,2%:%hhmmss:~3,2%:%hhmmss:~6,2%
タイトルとURLをコピーしました