コマンドプロンプトやシェルで日時文字列を作る

 Windowsのッチファイルなどで、起動するたびに違うファイル名を付けたくなることがある。その際、起動時の日時をファイル名に付加したいと思うこともしばしばだ。

 Windowsの場合(BATファイルに記述したときのみ)

@ECHO OFF
FOR /F "tokens=1-6 delims=/:. " %%a IN ("%DATE% %TIME%") DO SET DATE_TIME=%%a%%b%%c%%d%%e%%f
ECHO %DATE_TIME%

 20090114192118

 Linuxの場合

DATETIME=`date "+%Y%m%d%H%M%S"`
echo $DATETIME

 20090114192118