どこかに向かうらしい話

迷走エンジニアの放浪記

バッチファイルで現在時刻を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