Windows10でフォルダ内にある複数のファイルやフォルダの名前を一括で変更したいケースがあると思います。
ファイル名の一括変更はファイルエクスプローラ上でも簡単にできます。また、コマンドプロンプトやPowerShell、専用のリネームツールを使用することで条件を指定してファイル名を一括で書き換えることもできます。
本記事では、Windows10で複数のファイル名・フォルダ名をまとめて一括変更する方法を紹介します。連番を変更したり、付ける方法についても併せて紹介します。
この記事の内容
方法1: エクスプローラで一括変更する
ファイルエクスプローラを使って、指定した複数のファイルの名前を同じ名前に統一します。
この方法では複雑な条件を指定することはできませんが、単純にファイルを整理したりまとめたりする目的であればこの方法でも十分に役目を果たせるでしょう。連番も自動で割り当てられるので、面倒な設定も必要ありません。
ファイル名及びフォルダ名を一括変更するには、次の手順で操作します。
- ファイルエクスプローラ(タスクバー黄色のフォルダアイコン)を開き、名前を変更したいファイル/フォルダのあるフォルダを開きます。
- 名前を変更したいファイルを同時選択(複数選択)状態にします。
- 複数選択をするには、Ctrlキーを押しながら順番にファイルアイコンをクリックしていくか、空白部分を斜めにドラッグして選択したいファイルアイコンを四角で囲ってください。
- 連番の1番に割り当てるファイルの上で右クリックし、「名前の変更」を選択します。
- 新しいファイル名を入力し、エンターキーを押します。
- 選択したすべてのファイルが同じ名前で一括変更されます。
- 連番は「文書 (1).doc」のように、ファイル名の後に半角スペース+かっこ+半角数字の形式で、エクスプローラの表示順(左上→右下)に割り当てられます。
- 思い通りの順番に数字が割り当てられない場合が、エクスプローラの空白部分を右クリックし、「並び替え」オプションを活用して並び順を調整してからやり直してみてください。
- やり直しをする場合は、エクスプローラウィンドウ上でショートカットCtrl+Zを入力すると直前の操作を取り消すことができます。
Tabキーを使って連続編集することもできる
「同じ名前+連番」ではなく、それぞれのファイルに違う名前をつけたい時はTabキーを使った連続編集が便利です。
ファイル名を書き換えた後、エンターキーの代わりにTabキーを押すことで次のファイルの名前変更モードに直接移行できます。
「ファイル名を変更→次のファイルを選択して、もう1度名前変更」という操作をTabキーを使ってスピーディに名前を編集することができます。
厳密には一括変更の方法ではありませんが、ファイルの数があまり多くない時には便利な方法です。具体的には、次のように操作を行います。
- 名前を変更したいファイルのうち、1つ目のファイルを右クリックして「名前の変更」を選択します。
- 新しい名前を入力したら、Tabキーを入力します。
- 次のファイルが選択され、そのまま名前変更ができる状態になります。
- 新しい名前を入力するか、変更の必要がない場合はそのままTabキーを押して名前の変更作業を続けます。
- 目的のファイルをすべて編集したらエンターキーを押して終了します。
方法2: コマンドプロンプトで一括変更する
コマンドプロンプトを使うことで、ワイルドカードでファイル名の条件を指定してファイル名を一括変更することができます。
コマンドプロンプトでファイル名を変更するには次の手順で操作を行います。フォルダ名の変更も同様の手順で変更可能です。
- 「スタート」ボタンを右クリックして「ファイル名を指定して実行」を選択した後、ウィンドウに「cmd」と入力して「OK」をクリックしてコマンドプロンプトを起動します。
- コマンドプロンプトが起動したら、まず次のコマンドを入力して名前変更を行いたいファイルのあるフォルダへ移動します。
cd 目的のフォルダのパス
- 例: デスクトップに目的のファイルがある場合は、「cd C:\Users\ユーザー名\Desktop」と入力してエンターキーを押します。
- renコマンドを使って名前の変更を行います。次のようにrenコマンドで「現在のファイル名」と「変更後のファイル名」を入力します。
ren "現在のファイル名" "変更後のファイル名"
- コマンドrenと"現在のファイル名"の直後には半角スペースを挿入します。
- 複数のファイルを一括変更するには、ファイル名にワイルドカード(*や?)を組み合わせます。記述の仕方は次の『ワイルドカードの記述方法』を参考にしてください。
- Enterキーでコマンドを実行すると「変更後のファイル名」に一括で変更できます。
ワイルドカードの記述方法
ワイルドカードは、任意の文字列を指定する「*」や任意の一文字を指定する「?」の特殊文字を使って記述します。
renコマンドでワイルドカードを使用することで、特定の拡張子を一括で変更したり、特定のファイル名を一括で変更することができます。
- 例1: 次のコマンドを実行するとフォルダ内にあるすべての.txt拡張子を持つファイルが.html拡張子に書き換えられます。拡張子以外の部分は各ファイルの変更前の状態が保持されます。
ren "*.txt" "*.html"
- 例2: 次のコマンドを入力すると、フォルダ内のファイル名の先頭に「2020-06-01」を持つファイルを探して、該当部分のみを「2020-06-02」に書き換えることができます。
ren "2020-06-01*" "2020-06-02*"
ワイルドカードでの指定が難しい場合は、次の「方法3 PowerShellで一括変更する」を試してみてください。
方法3: PowerShellで一括変更する
PowerShellのコマンドレットを使うと、コマンドプロンプトと同様にファイル名/フォルダ名を一括で変更をすることができます。
ワイルドカードを使用せずに条件を指定することができるので直感的に分かりやすいと思います。また、複雑な条件でファイル名を一括変更することもできます。
PowerShellでファイル名を一括変更するには次の手順で操作します。
- 「スタート」ボタンを右クリックし、「Windows PowerShell」を選択してPowerShellを起動します。
- 次のコマンドを入力して名前変更をしたいファイルのあるフォルダを開きます。
cd 目的のフォルダのパス
- 次のようにrename-itemコマンドレットを入力してます。
dir | rename-item -newName {$_.name -replace '置換前文字列','置換後文字列'}
- rename-itemコマンドでは、置換前文字列、置換後文字列に置換する部分文字列のみを指定します。記述の仕方は、次の『rename-itemの置換文字列の記述方法』を参考にしてください。
- Enterキーでコマンドを実行してファイル名を一括変更します。
rename-itemの置換文字列の記述方法
rename-itemコマンドでは、*や?のワイルドカードを使用せずにファイル名の置換部分の文字列のみを指定して変更することができます。
- 例1: 次のコマンドを入力すると、フォルダ内にあるすべての.txtファイルの拡張子が.htmlに書き換えられます。
dir | rename-item -newName {$_.name -replace '.txt', '.html'}
- 例2: 次のコマンドを入力すると、フォルダ内の「yyyy-mm-dd」形式で記述された文字列を含むファイルに対して、該当箇所を「yyyy年mm月dd日」に置換することができます。
dir | rename-item -newName {$_.name -replace '([0-9]+)-([0-9]+)-([0-9]+)', '$1年$2月$3日'}
- 「([0-9]+)」の部分は1桁以上の数字を表しています。$1, $2, $3の部分では、置換前文字列で取得した数字部分をそれぞれ参照しています。
- 例えば「写真-2020-06-01.jpg」ファイルは「写真-2020年06月01日.jpg」に変更されます。
連番の書式を変更する記述方法
rename-itemコマンドでは、ファイル名の連番の書式を比較的簡単に変更することができます。
連番の書式を一括変更するには、置換前文字列に数字の正規表現を指定して、置換後文字列に「$数字」を使用した書式を指定します。
Windowsで自動で連番された「半角スペース(数字)」の書式は、次のように一括で変更することができます。
- 例1: ファイル名「文書 (1).doc」の連番を「文書_1.doc」のように変更するには、次のコマンドを入力します。
dir | rename-item -newName {$_.name -replace ' \(([0-9]+)\)', '_$1'}
- 例2: ファイル名「文書 (1).doc」の連番を「文書1番目の資料.doc」のように変更するには、次のコマンドを入力します。
dir | rename-item -newName {$_.name -replace ' \(([0-9]+)\)', '$1番目の資料'}
上記のように置換後文字列の「'$1'」の部分を書き換えることで、他の書式の連番に変更することができます。
方法4: Flexible Renamerで一括変更する
コマンドでの一括変更が難しい場合は、サードパーティ専用のツールを使う方法もあります。
フリーソフトのFlexible Renamerでは、簡単な操作で様々な名前付けの条件を指定することができ、大量のファイル/フォルダ名を思い通りに一括変更することができます。連番を指定することもできます。
Flexible Renamerを導入してファイル名を一括変更する基本的な手順は次の通りです。
- 『Flexible Renamer - Vectorの配布ページ』へアクセスして、「ダウンロード」リンクをクリックします。
- ページ下部にある「ダウンロードはこちら」ボタンからZipファイルをダウンロードします。
- ダウンロードしたZipファイルを右クリックして「すべて展開」を選択して、展開先のフォルダを指定して展開します。
- 展開が完了したら、展開後フォルダの中にある「Flexible Renamer.exe」を起動します。
- アプリが起動したら、ウィンドウ上部のメニューバーより「フォルダ指定」と「リネーム」を有効にします。
- ウィンドウ左側に表示されている階層ツリーを使ってリネームしたいファイルのあるフォルダを選択します。
- 続いてウィンドウ中央にある「ファイルやフォルダをリネームします」機能を使って名前変更の条件を指定します。
- 「ターゲット」:
目的がファイル名の変更であれば「ファイル」を、フォルダ名の変更であれば「フォルダ」にチェックを入れます。 - 「フィルタ」:
拡張子を入力して名前変更を行うファイルの種類を指定することができます。- 例: 「jpg」と入力すれば、拡張子が.jpgのファイルのみを対象に名前変更が行われます。フォルダ内のすべてのファイルに対して名前変更を行う場合は空欄のままで問題ありません。
- フィルタ機能で目的のファイルを絞り込めない場合は、ファイルを手動選択して任意のファイルのみに名前変更を行うこともできます。
- 手動で選択するには、ウィンドウ右にあるファイルリストより、Ctrlキーを押しながら名前変更の対象にしたい項目を順番にクリックしてください。
- 「メニュー」:
名前のルールを指定することができます。- 例: 「連番や文字列の追加→日時」を指定すれば、すべてのファイル名がそのファイルの作成された日時を表す数字に変換されます。
- ウィンドウ右のファイルリスト「新しい名前」の列で名前変更後にどのようなファイル名になるのかが確認できるので、各メニューをそれぞれ試して最も良いルールを探してみてください。
- 「リネーム」及び「オプション」:
名前変更を行う前のファイルのコピーを取っておくかどうかや、連番の書式等を指定することができます。必要に応じて設定してください。
- 「ターゲット」:
- 最後に「リネーム(R)」をクリックすると名前変更が実行されます。
以上でFlexible Renamerを使ってファイル名やフォルダ名を一括で変更することができます。
その他の機能の詳しい説明や高度な編集方法については、アプリ付属のヘルプを参照してください。