サンプル集  >  MS-DOS  >  ファイル名に日付と時刻を付ける
ファイル名に日付と時刻を付ける
2018/03/14

プログラムの実行結果をリダイレクトするファイルに日付と時刻を付ける方法です。

◆環境
OS Windows 7 Service Pack1 64bit
MS-DOS 6.1.7601

日付は%date%で、時刻は%time%で取得できます。 しかしこのままだと、/などファイル名と指定使えない文字が含まれてしまいます。 そのため、ファイル名として使えるよう出力結果を整形する必要があります。

%date%

%date%はそのままだと/が含まれます。 /を削除します。

> echo %date%
2018/03/14

/を削除します。

> echo %date:/=%
20180314

%time%

%time%は:と.が含まれます。 また1時など1桁の時間の場合、空白も含まれます。 空白を0に変換し、必要な時分秒だけ切り抜くようにします。

> echo %time%
 1:53:11.26

空白を0に置き換えます

> echo %time: =0%
01:53:20.46

時分秒を切り抜きます。

> set time2=%time: =0%

> echo %time2:~0,2%
01

> echo %time2:~3,2%
53

> echo %time2:~6,2%
38

これまでの処理をバッチファイルにまとめました。

datetime.bat
1: 
2: 
3: 
4: 
5: 
set date2=%date:/=%
set time2=%time: =0%
set LOG_FILE=hogehoge_%date2%%time2:~0,2%%time2:~3,2%%time2:~6,2%.log
echo %LOG_FILE%
pause

実行してみます。

> set date2=20180314

> set time2=12:00:40.09

> set LOG_FILE=hogehoge_20180314120040.log

> echo hogehoge_20180314120040.log
hogehoge_20180314120040.log

> pause
続行するには何かキーを押してください . . .

▲ PageTop  ■ Home


Copyright (C) 2018 ymlib.com