スキャンした書類が「scan001.pdf」「scan002.pdf」…と100件並んでいる。これを1件ずつ手動でリネームしていたら1時間以上かかります。
総務10年・書類デジタル化で数百件のリネームを経験した私も、同じ状況に何度も直面しました。最初は手動でやっていたのですが、正直、途中で「これ人間がやる作業じゃない…」と思ったんですよね。
この記事では、ファイル名を一括変更する方法を5つ、用途・件数・スキルレベル別に解説します。さらに「間違えてリネームした場合の元に戻す方法」も解説するので、安心して試せます。
どの方法を選べばいいか(判断フロー)
まずこの表で自分に合う手法を選んでください。
| 方法 | 難易度 | 対応件数 | コード不要 | 向いている用途 |
|---|---|---|---|---|
| ①Windowsエクスプローラー | ★☆☆ | ~50件 | ✅ | 連番リネームのみ |
| ②PowerShell | ★★☆ | ~500件 | ✗ | 部分置換・日付追加 |
| ③Excel+コマンドプロンプト | ★★☆ | ~1000件 | △ | 完全カスタム命名 |
| ④Flexible Renamer | ★☆☆ | ~1000件 | ✅ | GUI操作・複雑なルール |
| ⑤Python | ★★★ | 無制限 | ✗ | 定期・自動化処理 |
【方法①】Windowsエクスプローラーで連番リネーム
難易度:★☆☆ / 所要時間:1分 / 追加ツール不要
最もシンプルな方法。ただし「連番」しかつけられません。ファイル名(1).pdf, ファイル名(2).pdf という形式になります。
手順
- エクスプローラーで対象ファイルをすべて選択(Ctrl+A)
- F2キーを押す(または右クリック → 名前の変更)
- 付けたいベース名を入力してEnter
→ 請求書(1).pdf, 請求書(2).pdf, 請求書(3).pdf … と自動連番される
ファイルの並び順に注意
連番は「エクスプローラー上の並び順」で付きます。リネーム前に日付順・名前順など意図した順に並べ替えてから実行してください。
向いているシーン
- スキャンした書類に仮の連番をつけたい
- 写真ファイルを「会議写真(1).jpg」形式にまとめたい
- 50件以内で今すぐ終わらせたい
【方法②】PowerShellで柔軟な一括リネーム
難易度:★★☆ / 所要時間:5~10分 / 追加ツール不要(Windows標準)
コマンドでファイル名の一部を置換したり、日付・テキストを追加したりできます。エクスプローラーより柔軟ですが、コマンドの入力が必要です。
基本:特定の文字列を一括置換
# 例:「scan」を「請求書_2026」に一括置換
Get-ChildItem "C:\Users\user\Documents\スキャン" -Filter "*.pdf" |
Rename-Item -NewName { $_.Name -replace "scan", "請求書_2026" }
応用:先頭に今日の日付を追加
$date = Get-Date -Format "yyyyMMdd"
Get-ChildItem "C:\対象フォルダ" -Filter "*.pdf" |
Rename-Item -NewName { $date + "_" + $_.Name }
実行方法
- Windowsキー → 「PowerShell」と検索 → 右クリック → 「管理者として実行」
- コードをコピーして貼り付け → Enter
- 実行結果を確認
向いているシーン
- 毎月の勤怠データExcelに日付プレフィックスを一括追加したい
- ファイル名の一部(「旧名称」→「新名称」)を全件置換したい
- 総務・事務担当者がコード初体験でまず使ってみるのに最適
【方法③】Excel+コマンドプロンプトで完全カスタムリネーム
難易度:★★☆ / 所要時間:15~30分 / 追加ツール不要
Excelでリネーム後の名前リストを作り、RENコマンドを自動生成してバッチ実行する方法です。「スキャン後のPDFを正式名称にする」という業務でよく使います。完全に自由な命名ができる点が最大の強みです。
STEP1:現在のファイル名をExcelに取得する
コマンドプロンプトを開いて以下を実行:
cd C:\対象フォルダのパス
dir /b > filelist.txt
→ filelist.txt に全ファイル名が書き出される。これをExcelに貼り付けます(A列)。
STEP2:ExcelでB列に変更後のファイル名を作成する
| A列(変更前) | B列(変更後) |
|---|---|
| scan001.pdf | 20260301_契約書_株式会社〇〇_v1.pdf |
| scan002.pdf | 20260305_請求書_△△商事_v1.pdf |
| scan003.pdf | 20260310_議事録_取締役会_v1.pdf |
B列に変更後のファイル名を手入力またはCONCAT関数で生成します。
STEP3:RENコマンドを自動生成する
C列に以下の数式を入力:
="ren """ & A2 & """ """ & B2 & """"
→ ren "scan001.pdf" "20260301_契約書_株式会社〇〇_v1.pdf" というコマンドが生成される
STEP4:バッチファイルとして実行する
- C列の全コマンドをコピー
- メモ帳に貼り付け
- 先頭行に
cd /d C:\対象フォルダのパスを追加 .batファイルとして保存(例:rename.bat)- 対象フォルダ内にファイルを保存して右クリック → 「管理者として実行」
向いているシーン
- スキャン後の契約書・請求書を正式命名規則通りに変換したい
- 命名規則が複雑で自由に決めたい
- 100~1000件程度を一気に処理したい
- 総務担当者がコードなしで大量リネームする定番手順
【方法④】Flexible Renamer(フリーソフト・GUI操作)
難易度:★☆☆ / 所要時間:インストール込み10分 / GUIで操作可能
「コードは書きたくない、でも複雑なリネームもしたい」という場合に最適なフリーソフトです。プレビューで変更後のファイル名を確認してから実行できるため、ミスが最も少ない方法です。
主な機能
- 正規表現を使った高度な置換
- 連番の付与(開始番号・桁数・ステップ指定)
- 日付・タイムスタンプの追加
- 大文字・小文字の統一
- 拡張子の一括変更
手順
- 「Flexible Renamer」で検索 → 公式サイトからダウンロード(無料)
- 対象ファイルをアプリにドラッグ&ドロップ
- 変換ルールを設定 → プレビューで確認
- 問題なければ「実行」
向いているシーン
- 正規表現を使った複雑なリネームをGUIでやりたい
- プレビュー確認してから実行したい(安全重視)
- 連番の書式を細かく指定したい(001~ / 01~ 等)
【方法⑤】Pythonで自動化(繰り返し処理向け)
難易度:★★★ / 所要時間:初回30分〜 / 定期実行後は0分
毎月同じリネーム処理が必要な場合はPythonでの自動化が最も効率的です。一度コードを作れば、次回からはダブルクリックだけで完了します。
基本:ファイル名の一部を置換
import os
folder = r"C:\対象フォルダ"
for filename in os.listdir(folder):
if "scan" in filename:
new_name = filename.replace("scan", "書類")
os.rename(
os.path.join(folder, filename),
os.path.join(folder, new_name)
)
print(f"{filename} → {new_name}")
応用:先頭に今日の日付を追加
import os
from datetime import date
folder = r"C:\対象フォルダ"
today = date.today().strftime("%Y%m%d")
for filename in os.listdir(folder):
if filename.endswith(".pdf"): # PDF限定
new_name = f"{today}_{filename}"
os.rename(
os.path.join(folder, filename),
os.path.join(folder, new_name)
)
print(f"{filename} → {new_name}")
向いているシーン
- 毎月・毎週同じリネーム処理を繰り返している
- 数千件以上のファイルを処理したい
- 複数条件(ファイル名+更新日+種別)を組み合わせてリネームしたい
- Windowsのタスクスケジューラと組み合わせて完全自動化したい
コードをコピーして貼り付けるだけなので、プログラミング未経験でも動かせます。Pythonを環境構築なしで試したいなら、GoogleのColaboratoryが無料で使えます。ブラウザだけで動くので、まずそこで動作確認するのがおすすめです。
毎月同じリネーム処理があるなら、Windowsのタスクスケジューラと組み合わせることで完全自動化も可能です(別途設定が必要ですが、一度設定すれば手動作業ゼロになります)。
実行前に必ずやること(失敗時の戻し方)
リネームは「間違えやすい」作業です。100件を一括処理して全部おかしくなったとき…取り返しがつかないケースも実際にあります。
方法1:実行前にフォルダをバックアップ(最も確実)
これだけやれば何があっても戻せます。
作業前にやること:
対象フォルダ → コピー → 「対象フォルダ_backup_20260325」として保存
方法2:Ctrl+Z(直後なら戻せる)
エクスプローラーでのリネーム直後であれば Ctrl+Z で1つ前の状態に戻せます。ただし複数ファイルを一括リネームした場合、すべて戻せないケースもあります。
方法3:PowerShellの-WhatIfでドライラン
PowerShellには実際には実行せずに「何が起きるか確認する」-WhatIf オプションがあります。
Get-ChildItem "C:\対象フォルダ" -Filter "*.pdf" |
Rename-Item -NewName { $_.Name -replace "scan", "書類" } -WhatIf
→ 実際にはリネームされず、変更内容がコンソールに表示されるだけ。確認後に -WhatIf を外して本実行。
方法4:Excel+cmdのバッチファイルは逆コマンドで戻せる
Excel+cmdで作ったバッチファイルは、A列とB列を入れ替えたバッチファイルを作れば逆操作で元に戻せます。
業務シーン別おすすめ手順
| シーン | おすすめ方法 | 理由 |
|---|---|---|
| スキャン後のscan〇〇.pdfを正式名称に | Excel+cmd | 命名が自由・件数が多い |
| 勤怠・経費データに日付を一括追加 | PowerShell | コード1行で対応 |
| 「2024」→「2025」に全部置換 | PowerShell / Flexible Renamer | 置換に特化 |
| 50件以内・連番だけでOK | エクスプローラー | 最速 |
| 毎月同じ処理を繰り返す | Python | 自動化が最適 |
| コードを書きたくない・複雑な命名 | Flexible Renamer | GUIでプレビュー確認 |
よくある失敗と対処法
失敗1:並び順を確認せずリネームして順番がバラバラになった
→ リネーム前に必ずエクスプローラーの並び順を意図通りに設定してから実行。
失敗2:PowerShellのパスを間違えて別フォルダのファイルをリネームした
→ コード実行前に cd C:\対象フォルダ でフォルダを確認。バックアップ必須。
失敗3:ExcelのバッチファイルにB列の余分なスペースが入りエラーになった
→ Excelのセルに余分なスペースが入っているケースが多い。TRIM 関数で除去してからコマンド生成する。
失敗4:拡張子まで変更してしまいファイルが開けなくなった
→ 拡張子を変更するときは必ず .pdf → .pdf と同じ拡張子を維持する。PowerShellでは $_.Extension を使って拡張子を固定できる。
よくある質問(FAQ)
Q:Macでファイル名を一括変更する方法はありますか?
A:MacのFinderではファイルを複数選択→右クリック→「〇個の項目の名前を変更」で一括リネームできます。「テキストを追加」「テキストを置き換える」「フォーマット(連番)」の3パターンが使えます。
Q:フォルダ内のサブフォルダのファイルも一括リネームできますか?
A:エクスプローラー・Flexible Renamerは基本的に1フォルダのみです。サブフォルダまで再帰的に処理したい場合はPowerShellの -Recurse オプションまたはPythonの os.walk() を使ってください。
Q:ファイル名に使えない文字はありますか?
A:Windowsでは \ / : * ? " < > | が使用禁止です。スペースは使えますが、コマンド処理時に " で囲む必要があって面倒なので、_(アンダースコア)で代替することをおすすめします。
Q:リネーム後に元に戻す方法はありますか?
A:「実行前に必ずやること」セクションを参照してください。最も確実なのは実行前にフォルダをコピーしてバックアップを取ることです。
まとめ
- 50件以内・連番だけ → エクスプローラーのF2リネームが最速
- 部分置換・日付追加 → PowerShellで1~2行のコード
- 完全カスタム命名・100件以上 → Excel+コマンドプロンプト
- コードなしで複雑なルール → Flexible Renamer(フリーソフト)
- 毎月繰り返す処理 → Pythonで自動化
- 実行前のバックアップと
-WhatIfでのドライランが失敗を防ぐ最善策
毎月同じリネーム作業を繰り返しているなら、Pythonで自動化すると一度の設定で永続的に時短できます。総務・バックオフィス担当者向けのPython自動化の始め方は、こちらの記事で解説しています。