ファイル名に日付を追加する方法:作成日・更新日・今日の日付
ファイル名に日付を追加する方法を、PowerRename、PowerShell、Power Automate、Finder、ターミナルで解説します。各ツールが使う日付の違いと、新しいファイルに自動で日付を付ける方法もまとめます。
ファイル名に日付を追加できるツールは、どれも最初に1つの問いに答えることを求めます。どの日付を使うのか、という問いです。Windowsのファイル名変更ツールPowerRenameはファイルの作成日を使い、MacのFinderは今日の日付しか知らず、PowerShell、Power Automate、ターミナルは3種類のどれでも使えます。次々に届くファイルには、File Arborのようなルールベースのリネームツールを使うと、届いたそばから日付を付けられます。
このガイドでは、まず正しい日付を選びます。その選択によって、使えるツールが決まるからです。次に、Windows 11とmacOSに標準で備わる方法を順に説明し、最後に、どの方法も単独ではできないこと、つまり新しいファイルに人の手を借りずに日付を付ける方法を紹介します。
ファイル名にはどの日付を入れるべきですか
ファイルにはいくつかの日付があり、互いに食い違うことがよくあります。2024年のメールから今日ダウンロードしたPDFは、内容には2024年の日付があり、ディスク上の作成日は今日で、更新日はその間のどこかかもしれません。
| 日付 | 記録されるもの | 向いている用途 |
|---|---|---|
| 今日の日付 | ファイルの名前を変更した時点 | 整理した日、送った日、受け取った日の記録 |
| 作成日 | このコピーがこのディスクに現れた日 | ダウンロードやスキャンなど、届いた日が重要なもの |
| 更新日 | 内容が最後に保存された日 | 文書、下書き、書き出しなど、内容の日付が重要なもの |
| 撮影日 | 写真が撮影された日(EXIFデータより) | 写真。コピーされることが多く、ファイルの日付は信頼できません |
| 文書内の日付 | 請求書や明細書に印字された日付 | 請求書、領収書、銀行の明細書 |
人が戸惑いやすいのは作成日です。Windowsでは、作成日は内容ではなくコピーに属します。2019年の表計算ファイルを今日新しいドライブにコピーすると、作成日は今日になり、更新日は2019年のままです。そのため、ファイルが更新された後に「作成」されたように見えることがあります。
最後の行には、文書そのものを読み取るツールが必要です。これは別のガイドで取り上げています。PDFファイルを内容に基づいて名前変更する方法をご覧ください。
並べ替えできる形で日付を書く
日付は名前の先頭に、年・月・日の順で書きます。たとえば2026-11-06 契約書.pdfです。この順にすると、名前順がそのまま日付順になるので、エクスプローラーでもFinderでも、日付の列がなくてもファイルが日付順に並びます。11-06-2026は月、日の順に並ぶので、年が混ざってしまいます。
名前をどの環境でも使えるようにする3つのルールがあります。
- スラッシュは使わない。
/と\はフォルダの区切りなので、ファイル名には使えません。 - コロンは使わない。 Windowsはファイル名の
:を受け付けません。時刻は14-30か1430と書きます。 - 区切りの種類を統一する。 ハイフンかアンダースコアのどちらかに決めて通します。混ぜると検索しにくくなります。
日付の後ろに何を書くかは、ファイル命名規則のガイドで説明しています。
Windows:PowerRenameで作成日を付ける
PowerRenameは、Microsoftが無料で配布するMicrosoft PowerToysに含まれています。日付の変数は各ファイルの作成日を読み取るので、ダウンロードやスキャンをまとめて日付付きにする最も手早い方法です。
- PowerToysをインストールし、設定でPowerRenameがオンになっていることを確認します。
- エクスプローラーでファイルを選び、右クリックして Rename with PowerRename を選びます。
- Use regular expressions にチェックを入れます。
- Search for に
^と入力します。正規表現では「名前の先頭」を意味します。 - Replace with に
$YYYY-$MM-$DD_と入力します。 - 拡張子をそのまま残すため、Apply to を Filename only にします。
- プレビュー欄を確認して、Apply をクリックします。
2026年11月6日に作成された報告書.pdfは、2026-11-06_報告書.pdfになります。時刻は$hh-$mmで追加できます。エクスプローラーでCtrl+Zを押すと、名前の変更を元に戻せます。
写真には、EXIFの撮影日を読み取る別の変数群があります。たとえば$DATE_TAKEN_YYYYです。使うには、メニューでEXIF/XMPのオプションを選びます。PowerRenameに変数がないのは更新日です。
Windows:PowerShellでどの日付も使う
PowerShellはファイルのあらゆる日付を読み取れるので、更新日や今日の日付を使いたいときに向いています。PowerShellを開き、フォルダに移動して、まず次を実行します。
cd "$HOME\Documents\Scans"
(Get-ChildItem -File) | Rename-Item -NewName { $_.LastWriteTime.ToString('yyyy-MM-dd') + ' ' + $_.Name } -WhatIf
-WhatIfは、実行したらどうなるかを表示するだけで、何も変更しません。一覧が正しければ、上矢印キーを押し、-WhatIfを削除して、もう一度実行します。Get-ChildItemを括弧で囲むと、PowerShellは名前を変更する前にファイル一覧を先に取得するので、同じファイルが2回処理されることはありません。
名前に入れる日付を変えるには、途中の日付の部分を差し替えます。
| 使いたい日付 | 使うもの |
|---|---|
| 更新日 | $_.LastWriteTime.ToString('yyyy-MM-dd') |
| 作成日 | $_.CreationTime.ToString('yyyy-MM-dd') |
| 今日の日付 | (Get-Date).ToString('yyyy-MM-dd') |
| 日付と時刻 | $_.LastWriteTime.ToString('yyyy-MM-dd HH-mm') |
これらの書式文字列では、MMが月、mmが分です。この行はフォルダごとに1回だけ実行してください。2回目を実行すると、最初の日付の前に2つ目の日付が付きます。%date%を使う昔のバッチファイルの方法は避けたほうがよいでしょう。この変数の形式は、コンピューターの地域設定によって変わるからです。
Windows:Power Automate for desktopでコードなしに行う
Power Automate for desktopは、Windows 11に追加費用なしで付属しており、Windows 10にもインストールできます。Rename file(s) アクションには、この用途のために作られた方式があります。
- 新しいフローを作成し、Get files in folder を追加します。フォルダを選び、必要なら
*.pdfのようなフィルターを指定します。 - Rename file(s) を追加し、最初のアクションの
%Files%変数を渡します。 - Rename scheme を Add datetime にします。
- Datetime to add を Last modified、Creation time、Current datetime のいずれかにします。
- Add datetime を Before name にし、Separator を選んで、ハイフンにしたい場合は Datetime format を初期値の
yyyyMMddからyyyy-MM-ddに変更します。 - フローを保存して実行します。
PowerShellの1行と同じ仕事を、コードの代わりにメニューで行えます。スクリプトと同様に、開始したときに実行され、2回実行すると日付が重ねて付きます。
Mac:Finderは今日の日付、ターミナルはファイルの日付
Finderの一括名前変更でも日付を追加できますが、1種類だけです。ファイルを選び、そのうち1つをControlキーを押しながらクリックして Rename を選び、ポップアップメニューで Format を選んで、名前の形式に Name and Date を選びます。すべてのファイルに、現在の日付と時刻が秒単位で付き、名前の前か後ろに置かれます。「これらを整理した日」を残したいときには合っていますが、それ以外の用途には向きません。
ファイルそれぞれの日付を使うには、ターミナルを使います。このループは、実行する内容を表示するだけです。
cd ~/Documents/Scans
for f in *; do
[ -f "$f" ] || continue
d=$(stat -f %Sm -t %Y-%m-%d "$f")
echo mv -n "$f" "$d $f"
done
%Smは更新日です。作成日にするには%SBに変えます。これはmacOSのstatでいう誕生時刻です。表示されたコマンドが正しければ、echoを削除して、もう一度ループを実行します。mv -nは、新しい名前のファイルがすでにあっても上書きしません。Windowsと同じく、2回目を実行すると日付が重ねて付きます。
各ツールが名前に入れられるもの
| 機能 | PowerRename | PowerShell | Power Automate | Finder | ターミナル(Mac) | File Arbor |
|---|---|---|---|---|---|---|
| 対応OS | Windows | Windows | Windows | Mac | Mac | WindowsとMac |
| 今日の日付 | いいえ | はい | はい | はい | はい | いいえ |
| 作成日 | はい | はい | はい | いいえ | はい | はい |
| 更新日 | いいえ | はい | はい | いいえ | はい | はい |
| 写真の撮影日 | はい | 追加のコードが必要 | 標準のオプションなし | いいえ | 追加のコードが必要 | はい |
| 新しいファイルに自動で日付を付ける | いいえ | いいえ | いいえ | いいえ | いいえ | はい(Proの自動モード) |
| 同じファイルに2回日付を付けない | いいえ | いいえ | いいえ | いいえ | いいえ | はい |
| 価格 | 無料 | 無料 | Windowsに付属(無料) | 無料 | 無料 | 無料プランあり、Proは$24.99の買い切り |
新しいファイルに日付を自動で付けるにはどうすればよいですか
ここまでの方法は、すでにあるファイルに対して働きます。明日届くスキャンには気づきませんし、もう一度実行すると、昨日のファイルに2回目の日付を付けてしまいます。WindowsにもmacOSにも、新しいファイルに日付を付ける設定はありません。
File Arborは、WindowsとMacで使えるルールベースのファイル整理ツールで、この2つの問題を解決します。ルールがファイルを選び、その名前変更アクションが、部品から新しい名前を組み立てます。
- ファイルが届くフォルダ(スキャンやダウンロードなど)を追加します。
- ファイルの種類に一致するルールを作ります。たとえば、拡張子を
pdf, docxにします。 - アクション で 名前を変更 を選びます。部品を追加 をクリックして ファイルの日付、続けて 元の名前 を選びます。部品の間 は、スペースか
_にします。日付の部品をクリックすると、書き方を選べます。2026-11-06、20261106、06.11.2026などです。 - 実行すると何が起こるか を確認します。何かが変わる前に、すべてのファイルと新しい名前が一覧で表示されます。
- 実行 を押すか、フォルダを自動モードに切り替えて、新しいファイルが届くたびに名前が変更されるようにします。
ファイルの日付 は更新日です。写真には、代わりに 写真の撮影日 を選びます。EXIFの日付を読み取り、撮影日がない写真ではファイルの日付が使われます。作成日を使うには、テキストで編集 をクリックして<CreatedDate:yyyy-mm-dd> <Name>と書きます。同じ画面では、ファイルの日付 と 元の名前 が<Date:yyyy-mm-dd>と<Name>として表示されます。
見た目以上に重要な点が3つあります。ファイルの名前が変わるのは1回だけです。ルールが自分で付けた名前を記憶しているので、再起動や次の実行で2026-11-06 2026-11-06 スキャン.pdfのような名前にはなりません。何も上書きされません。新しい名前がすでに使われている場合は、請求書 (1).pdfのように番号が付きます。名前の変更は元に戻せます。履歴 から、ファイルがルールの処理後の場所にある限り戻せます。File Arborには「今日の日付」の部品はありません。届いたばかりのファイルなら、ファイルの日付は通常、今日になっています。
名前の変更は無料プランでも使えます。監視フォルダ1つ、ルール2つ、1日20ファイルまで、手動実行です。File Arbor Proは$24.99の買い切りで、自動モード、無制限のフォルダとルール、PDFやスキャンの中から読み取った日付による名前の組み立てが加わります。名前に使える部品はすべて、マニュアルのファイル名の変更の項目に載っています。
どの方法があなたのファイルに合っていますか
「Windowsで、日付を付けたいダウンロードのフォルダが1つある。」 PowerRename を使います。ここで必要なのは作成日で、適用する前にプレビューですべての新しい名前を確認できます。
「文書が最後に変更された日付がほしい。」 PowerShell でLastWriteTimeを使います。コードを入力したくなければ、Power Automate for desktop で Last modified を選びます。
「Macを使っている。」 ターミナル のループを使います。今日の日付がほしいときだけ、Finderを使います。
「写真を扱っている。」 撮影日を使います。1回限りの一括処理ならPowerRenameのEXIF変数、増え続けるカメラのフォルダならFile Arborの 写真の撮影日 です。
「新しいファイルが毎日届くので、意識せずに日付を付けたい。」 File Arbor を使います。ルールを1回設定すれば、新しいスキャン、請求書、書き出しファイルに、日付が先頭の名前が付きます。WindowsでもMacでも使えます。一括リネームツールとの比較は、ファイル名変更ソフトのまとめをご覧ください。
自分のフォルダで試すには、File Arborをダウンロードし、フォルダを追加して、ファイルの日付と元の名前を使った名前変更ルールを1つ作ります。ファイルが1つも変わる前に、何が行われるかがプレビューに表示されます。
FAQ
ファイル名に日付を自動で追加するにはどうすればよいですか
フォルダを監視するツールを使います。WindowsにもmacOSにも、新しいファイルに日付を付ける設定はありません。スケジュール実行のPowerShellスクリプトやターミナルのループでもできますが、すでに日付がある名前を除外しないと、実行のたびに日付が重ねて付きます。File Arborは、Proの自動モードか無料プランの手動実行で、新しいファイルの名前を1回だけ変更します。
Windowsでファイルを作成日の名前に変更するにはどうすればよいですか
Microsoft PowerToysのPowerRenameを使います。ファイルを選び、Rename with PowerRenameを選んで、Use regular expressionsにチェックを入れ、検索にキャレットを入力し、置換に年・月・日の変数と区切り文字を入力します。この変数は各ファイルの作成日から取られます。更新日を使いたい場合は、LastWriteTimeを使うPowerShellか、Power Automate for desktopを使います。
Macのファイル名にFinderでファイル自身の日付を追加できますか
できません。Finderの名前変更ウィンドウでは、フォーマットのオプションで日付を追加できますが、それは現在の日付と時刻で、すべてのファイルに同じものが付きます。ファイルの作成日や最終更新日を使うには、statコマンドを使う短いターミナルのループか、ファイルごとの日付を読み取るルールベースのアプリを使います。
ファイル名にはどの日付形式を使えばよいですか
名前の先頭に、2026-11-06のように年・月・日をハイフンでつないで書きます。この形式の名前は、名前順と日付順が一致するため、エクスプローラーでもFinderでも日付順に並びます。ファイル名に使えないスラッシュと、Windowsが受け付けないコロンは避け、時刻は14:30ではなく14-30と書いてください。
ファイルの作成日が更新日より新しいのはなぜですか
ファイルがコピーまたはダウンロードされたからです。Windowsでは、作成日はこのディスク上のコピーに属します。そのため、今日コピーしたファイルは、内容が何年も前に最後に変更されたものでも、今日作成されたことになります。更新日は通常、ファイルと一緒に引き継がれます。内容の日付を知りたいときは、更新日のほうが適していることが多いです。