「日付取得」タグアーカイブ

Windowsバッチで西暦8桁・月日2桁のゼロ埋め日付を出力する方法

バッチ処理を作成するときに、ログファイル名やバックアップファイル名に日付を付与するケースはよくあります。その際「20250913」のように 西暦8桁(YYYYMMDD形式) でゼロ埋めされた日付を出力したいことがあります。
この記事では、Windowsバッチでゼロ埋めした日付を取得する方法を紹介します。


基本的な考え方

Windowsバッチでは %date% 変数を使うことで、現在の日付を取得できます。ただし環境によって表示形式が異なり、例えば以下のようになります。

  • 日本語ロケール(Windows 10/11 既定)

    2025/09/13
  • 英語ロケール

    Sat 09/13/2025

このため、文字列の位置を指定して切り出す必要があります。


実用例:西暦8桁+月日2桁のゼロ埋め

以下のバッチスクリプトでは、YYYYMMDD 形式で日付を取得します。

実行結果(2025年9月13日の場合)

20250913

応用:時刻と組み合わせて使う

ファイル名などで「日付+時刻」を付けたい場合は、%time% も組み合わせられます。

実行例

20250913_083015

ロケールに依存しない方法

環境によって %date% のフォーマットが変わるとバッチが動作しなくなることがあります。
その場合、wmic を使うとロケール非依存で日付を取得できます。

実行結果

20250913

まとめ

  • %date% を切り出す方法は簡単だがロケール依存。

  • 確実性を求めるなら wmic を使うのがおすすめ。

  • 日付はログやバックアップのファイル名に利用すると便利。

バッチで日付をゼロ埋めして扱うと、ファイルの並び順も自然になり管理がしやすくなります。
ぜひ日常の運用バッチに取り入れてみてください。