ホーム > コマンドプロンプト・バッチファイル リファレンス
Windowsのバッチで、現在日時をYYYYMMDDhhmmss形式で取得する方法を解説します。
はじめに
前回は、下記のような現在日時(日付、時刻)を取得する方法を解説しました。
2024/03/24 8:42:05
この形式は見やすいですが、記号を含んでいるためファイル名にすることが出来ません。
(→バックアップ時のファイル名として使えないなど)
本記事では、現在日時を「YYYYMMDDhhmmss」形式で取得する方法を解説します。
下記は前回の記事になります。
日付をYYYYMMDD形式で取得する
現在の日付を「YYYYMMDD」形式で取得する方法です。
dateコマンドで取得される形式「YYYY/MM/DD」から「/」を消去しました。
@echo off echo %date:/=%
実行結果です。
E:\Work>test.bat 20240324
時刻をhhmmss形式で取得する
現在の時刻を「hhmmss」形式で取得する方法です。
timeコマンドで取得出来る時刻ですが、時間が1桁の場合は半角スペースで埋められます。
なので、まずは半角スペースを「0」に置換しています。
次にコロン(:)と小数点以下の値以外を取得しています。(以下の赤字部分を取得)
→10:14:18.12
@echo off set timetmp=%time: =0% echo %timetmp:~0,2%%timetmp:~3,2%%timetmp:~6,2%
実行結果です。
E:\Work>test.bat 101418
日時をYYYYMMDDhhmmss形式で取得する
前項で説明した日付と時刻を組み合わせて、日時をYYYYMMDDhhmmss形式で取得する方法です。
@echo off set timetmp=%time: =0% echo %date:/=%%timetmp:~0,2%%timetmp:~3,2%%timetmp:~6,2%
実行結果です。
E:\Work>test.bat 20240324200848
日付と時刻の間にアンダーバーを付ける
日付と時刻の間にアンダーバー(_)を付けて、YYYYMMDD_hhmmss形式にする方法です。
@echo off set timetmp=%time: =0% echo %date:/=%_%timetmp:~0,2%%timetmp:~3,2%%timetmp:~6,2%
実行結果です。
E:\Work>test.bat 20240324_201008
リンク
コメント