Windows(へたれな)コネタ DOSのバッチファイル内で日時を反映したファイル名を生成する方法
日々のデータベースのダンプファイル作成やログファイル作成に使える小技です。
SET YYYYMMDD=%DATE:/=%
SET HHMMSS=%time::=%
SET TMSMP0=%YYYYMMDD:~4,8%_%HHMMSS: =0%
SET TMSMP=%TMSMP0:~0,9%
SET DMPFILE=DbSserver_%TMSMP%.dmp
結果例
echo %DMPFILE%
DbSserver_0526_1122.dmp.log
となります。
ポイントは、環境変数を展開する時に文字列の一部分を取り出せたり
置換出来ることでしょう。
「:」の除外
%time::=%
部分的取り出し
%YYYYMMDD:~4,8%
一桁の時刻には頭に空白がついてしまうため、0埋め
%HHMMSS: =0%
最後に、これらは、
SET /?
で簡易的なHELPを参照できます。
Windows2000Serverファイル名にタイムスタンプをつける
バッチ・ファイル中で日付をファイル名に使用する