バッチファイルで現在時刻をyyyy/mm/dd hh:mn:ss形式で取得するための備忘録
バッチファイルget_time.batを適当なフォルダに配置し、C:\scripts\logフォルダに各ファイルを出力するスクリプト。 気をつけるポイントはコメントを参考に。
@echo off
REM 日付をyyyy/mm/dd形式で取得する
set d=%date%
REM 日付を年、月、日に分解する
set yyyy=%d:~-10,4%
set mm=%d:~-5,2%
set dd=%d:~-2,2%
REM 時間をhh:mn:ss形式で取得する
REM たんにtimeコマンドと入れるだけだと、hh:mn:ss形式で取得できないことに注意
set t=%time: =0%
REM 時間を時、分、秒に分解する
set hh=%t:~0,2%
set mn=%t:~3,2%
set ss=%t:~6,2%
REM 日付の出力
echo %d% > C:\scripts\log\get_time.log
echo %yyyy% >> C:\scripts\log\get_time.log
echo %mm% >> C:\scripts\log\get_time.log
echo %dd% >> C:\scripts\log\get_time.log
echo; >> C:\scripts\log\get_time.log
REM 時間の出力
echo %t% >> C:\scripts\log\get_time.log
echo %hh% >> C:\scripts\log\get_time.log
echo %mn% >> C:\scripts\log\get_time.log
echo %ss% >> C:\scripts\log\get_time.log
REM 日付と時間の出力(出力先のファイル名に時間を反映)
echo %d% %t% >> C:\scripts\log\time_%yyyy%%mm%%dd%_%hh%%mn%%ss%.log
get_time.logの中身はこんな感じ。
2017/10/14
2017
10
14
00:24:11.90
00
24
11
time_20171014_002411.logの中身はこんな感じ。
2017/10/14 00:24:11.90