投稿記事のURLが変更になりました。ブックマークに保存されている方は新しいURLに変更をお願いします。20220904

Windows PowerShell 指定した場所のフォルダ名やファイル名を複数まとめて変更する方法(Excelサンプルデータ付)

PowerShell
この記事は約7分で読めます。

いつもご覧いただきありがとうございます。 takaです。

仕事をしていると、この作業毎回やっているなぁ・・と思う事が度々あります。

そんな時に役に立つのが、Google Apps ScriptやPowerShellやPythonなどです。私はプログラマーではありませんので、自分のできる範囲でどうにか業務効率化したいと思い、簡単なものから取り組んでいます。

今回は、PowerShellでフォルダ名、ファイル名を変更する方法 について書いてみたいと思います。初心者の方に向けてできるだけ簡単に書いていきたいと思いますので、興味のある方はぜひご覧ください。

こちらの記事は「マイクロソフトの著作物の使用について」を参照し、ガイドラインに沿って記事にしています。不適切な内容がございましたらお問い合わせフォームよりお知らせください。

スポンサーリンク

PowerShellって?

PowerShellはWindows、Linux、および macOS上で実行できる、タスクの自動化ツールです。Windowsに標準でインストールされているので、Windowsユーザーなら無料で使用できます。

コマンドプロンプトでも一括処理などが出来ますが、PowerShellは扱えるコマンドも多く、コマンドプロンプトより複雑な処理が出来ます。※PowerShellのコマンドはcmdlets(コマンドレット)と言います。

概要については以下の記事をごらんください。

フォルダ内のファイル名を変更したい

業務の中でファイル名を大量に変更したい場合があります。

1つや2つならもたいした作業ではありませんが、100個のファイル名を変更したい場合、一つずつ変更するのは大変です。そんな時に役に立つのがWindowsに標準で搭載されているPowerShellです。

PowerShellを使用するとファイル名の取得やファイル名の変更が一括で出来ます。前回は基本的な操作を確認するために、1件ずつ項目名(フォルダ名やファイル名)を変更する方法について書きましたが、今回はExcelをつかってまとめて変更する方法を記事にしたいと思います。

必要なもの

・Windows PowerShell
・Microsoft Excel(以降Excelと記載) ※今回はExcelを使用した方法で説明しています。

指定した項目名を変更する Rename-Item 

では実際に変更してみます。

使用するコマンドレット:Rename-Item

手順(windows10、windows11共通)

1.デスクトップ等の適当な場所に作業用のフォルダを作成する(今回は test で作成)
 ※わかりやすいように毎回デスクトップのtestフォルダで説明しています。

2.変更するファイルをtestに移動またはコピーする

3.指定したフォルダ内の項目名のみを取得する

4.Excelで元になるデータを作成する

5.PowerShellにExcelで作成したデータを貼り付ける

1.デスクトップ等の適当な場所に作業用のフォルダを作成する

デスクトップ等の適当な場所に作業用のフォルダを作成します。(今回は test で作成)
 ※わかりやすいように毎回デスクトップのtestフォルダで説明しています。

2.変更するファイルをtestに移動またはコピーする

項目名を変更したいファイルやフォルダをtestフォルダに入れます。

慣れるまではコピーしたファイルで試すほうが安心です。

3.指定したフォルダ内の項目名のみを取得する

詳細については下記の記事に掲載しています。
Windows PowerShell 指定した場所のフォルダ名やファイル名の一覧を取得する方法

Windows10、11共通

1.PowerShellコンソールに下記のコードを入力しエンターキーを押します。

PS C:\Users\username>  Get-ChildItem Desktop\test -Name

username の部分は使用しているユーザーに合わせて変更してください。※通常は自動で表示されているので、 Get-ChildItem以降を入力してください。

※保存場所(Desktop)は設定により異なります。

2.ファイル名のみが取得されます。

Windows11

1.項目を取得したいフォルダの上で右クリックし、「ターミナルで開く」を選択します。

2.フォルダのパスが表示されているので、下記の内容を入力してエンターキーを押します。

PS C:\Users\username\Desktop\test> Rename-Item "変更前の名前" -NewName "変更後の名前"

※ファイル名を変更する場合は、拡張子(今回は.jpgの部分)も含めてください

3.ファイル名のみが取得されます。

4.Excelで元になるデータを作成する

前回は1件ずつデータを変更しましたが、複数まとめて変更するためにExcelでデータを作成します。

元になるコードはこちらになります。変更するデータに合わせて複数行作成します。

Rename-Item -Path "C:\Users\username\Desktop\test\フォルダ1" -NewName "画像フォルダ-1"

データの構造については以下の記事で説明しています。

Excelでデータを作成する方法の一例

Excelに入力する内容 2行目の入力例
A列    Rename-Item -Path “C:\Users\【usernameを入れる】\Desktop\test\
B列変更前の項目名(フォルダ名やファイル名)
C列” -NewName “
D列変更後の項目名
E列
G列=CONCATENATE(A2,B2,C2,D2,E2)
G列の結果Rename-Item -Path “C:\Users\username\Desktop\test\画像フォルダ1” -NewName “画像フォルダ-1”

解説

A列:保存先のフォルダのパス
Rename-Item■-Path■”C:\Users\【usernameを入れる】\Desktop\test\ ←■の部分は半角スペースが入ります。

B列:変更前の項目名 ※Get-ChildItemで取得した内容をコンソールからコピーして貼り付けます。

C列:”■-NewName■” ←■の部分は半角スペースが入ります。

D列:変更後の項目名を入れます。

G列:文字列を結合する関数を入れます。

以下のように必要な件数分のデータを作成します。

Excel スクリーンショット

5.PowerShellにExcelで作成したデータを貼り付ける

G列のデータのみをコピーしてPowerShellのコンソールに貼り付けてエンターキーを押します。

PowerShellスクリーンショット

Widows11の場合は以下のような警告画面が表示されます。「強制的に貼り付け」を選択すると実行されます。

testフォルダ内のフォルダ名とファイル名が変更されました。※一部変更していないフォルダもあります。

説明だけみると面倒そうに感じるかもしれませんが、Excelファイルは一度作成すれば、変更前と変更後のファイル名を変更するだけで使いまわすことが出来ます。

こちらの方法は一例ですので、他にもまとめて変更する方法はあります。また機会があれば記事にしてみたいと思います。

こちらの記事が少しでも皆様のお役に立てれば幸いです。記事に関するご意見、ご感想がございましたら、コメント欄よりお願いします。今後の記事作成の参考にさせていただきます。

6.サンプルデータ

サンプルデータを作成しました。(Excel形式)
環境によりファイルのパスが異なると思いますので、各自変更してご利用ください。

※利便性を考慮しサンプルを掲載しておりますが、内容を十分にご理解いただき、利用は自己責任でお願いします。こちらのデータを利用して損害が発生した場合、当サイトでは一切責任を負いません。

今後の記事作成の参考にさせていただきますのでご意見、ご感想がございましたらぜひコメントをお願いします。

created by Rinker
¥2,200(2023/11/18 08:13:58時点 楽天市場調べ-詳細)

コメント

タイトルとURLをコピーしました