バッチファイルで現在日時をファイル名にする方法
Windowsで開発の仕事をしていると、テスト結果を残す場合などに現在日時のファイル名で残したい場合があります。
特定のフォルダのdirの結果や、プログラムの実行結果の標準出力をリダイレクトしてファイルに残したいケースがほとんどです。
そういうときは、以下のように環境変数からファイル名を作成するバッチファイルを作成します。
@echo off
set f=%DATE:/=%_%TIME::=%
set f=%f:.=_%
set f=%f: =0%
set f=%f:~00,15%.txt
echo %f%
日時の確認と実行結果は以下のようになります。
C:\data\hiduke>echo %DATE% %TIME%
2011/04/26 21:29:56.96
C:\data\hiduke>sample.bat
20110426_213002.txt
実際には最後に環境変数をechoしている箇所でファイル名の入った環境変数fを使ってリダイレクトなどをします。
上記のバッチファイルはWindowsXPとWindows7で動作確認をしました。
Windows2000の場合などは%DATE%の結果が異なるようなので、少し変更する必要があると思います。