毎週新しい記事を更新しています!
お役立ち情報をお届けします

バッチファイルでファイル名に日付を自動付与する方法|Windows自動化

3分

バッチファイルでファイル名に日付を自動付与する方法

ファイルのバックアップやログの保存時、「ファイル名に日付を付けて管理したい」と思ったことはありませんか? 手作業で日付を入力するのは面倒ですし、入力ミスのリスクもあります。

この記事では、バッチファイルを使ってファイル名に日付を自動付与する方法を解説します。 初心者の方でもすぐに実践できるよう、手順を丁寧に説明していきます。

日付付与の基本的な使い方#

バッチファイルを使った日付付与は、とてもシンプルな手順で実行できます:

  1. 日付を付与したいファイルを選択 ファイルを選択

  2. 作成したバッチファイルにドラッグ&ドロップ ドラッグ&ドロップ

  3. 自動で日付付きファイルが作成される 実行結果

それでは、このバッチファイルの作り方を詳しく解説していきます。

バッチファイルの作成手順#

メモ帳でバッチファイルを作成#

Windowsのメモ帳を起動します。 メモ帳

ファイル名の後ろに日付を付与するコード#

以下のコードをメモ帳に貼り付けます:

@echo off
setlocal enabledelayedexpansion
 
rem ----------------------------------------
rem 現在の日付を「YYYYMMDD」形式で取得
rem   例:20240611
rem ----------------------------------------
set TODAY=%date:~0,4%%date:~5,2%%date:~8,2%
 
rem ----------------------------------------
rem フォルダ内のすべてのtxtファイルを処理
rem   例:report.txt → report_20240611.txt
rem ----------------------------------------
for %%F in (*.txt) do (
  rem ファイル名(拡張子なし)を取得
  set FNAME=%%~nF
  rem 拡張子を取得(.txtなど)
  set EXT=%%~xF
  rem 日付を付与してファイルをコピー
  copy "%%F" "!FNAME!_!TODAY!!EXT!"
  rem 処理結果を表示
  echo !FNAME!_!TODAY!!EXT! を作成しました。
)
 
pause

バッチファイルの保存方法#

  1. Ctrl + Shift + S で「名前を付けて保存」を開く
  2. ファイル名を「add_date.bat」として保存
    • 拡張子は必ず .bat にしてください
  3. 保存をクリック

バッチファイルの保存

応用:ファイル名の前に日付をつける#

ファイル名の前に日付を付与したい場合(例:report.txt20240611_report.txt)は、以下のコードを使用します:

@echo off
setlocal enabledelayedexpansion
 
rem ----------------------------------------
rem 現在の日付を「YYYYMMDD」形式で取得
rem   例:20240611
rem ----------------------------------------
set TODAY=%date:~0,4%%date:~5,2%%date:~8,2%
 
rem ----------------------------------------
rem フォルダ内のすべてのtxtファイルを処理
rem   例:report.txt → 20240611_report.txt
rem ----------------------------------------
for %%F in (*.txt) do (
  rem ファイル名(拡張子なし)を取得
  set FNAME=%%~nF
  rem 拡張子を取得(.txtなど)
  set EXT=%%~xF
  rem 日付をファイル名の前に付与してコピー
  copy "%%F" "!TODAY!_!FNAME!!EXT!"
  rem 処理結果を表示
  echo !TODAY!_!FNAME!!EXT! を作成しました。
)
 
pause

日付を前に付与した結果

まとめ#

バッチファイルを使ったファイル名への日付付与について説明しました:

  1. 手作業の自動化で作業効率アップ
  2. 入力ミスのリスクを削減
  3. 柔軟なカスタマイズが可能

よくある質問・トラブルシューティング#

バッチファイルが動作しない場合

ファイルの拡張子が正しく.batになっているか確認してください。また、文字コードはANSIで保存されているか確認してください。

日付の形式を変更したい場合

コード内の%date:~0,4%%date:~5,2%%date:~8,2%の部分を修正することで、日付の形式を変更できます。例えば、月日のみにする場合は%date:~5,2%%date:~8,2%とします。

特定の拡張子のファイルのみ処理したい場合

コード内の*.txtを目的の拡張子(例:*.docx)に変更することで、対象ファイルを限定できます。

関連する記事:

より詳しい情報や最新の自動化テクニックはさかいブログをご覧ください。

関連記事

さかいのプロフィール画像

さかい

Excel・業務効率化・自動化が得意なITブロガー。現役エンジニアとして日々便利なノウハウを発信中。