こんにちは、阿久梨絵です!
フォルダ内のファイル名をひとつずつ手で直すのって、地味に大変ですよね。
特に写真やドキュメントが大量にあると、気が遠くなってしまいます。
そんなときに頼れるのが PowerShell 。
Windowsに標準搭載されているこのツールを使えば、一括で安全にファイル名を変更できます。
基本の構文:Get-ChildItem + Rename-Item
Get-ChildItem -Path “C:\Users\****\Pictures” | Rename-Item -NewName { “Photo_” + $_.Name }
※C:\Users\****は、ご使用の環境に合わせて設定してください。
解説
・Get-ChildItem:指定フォルダ内のファイル一覧を取得
・Rename-Item:ファイル名を変更
・{ “Photo_” + $_.Name }:元のファイル名に「Photo_」を追加
よくあるリネームパターン
① 連番をつけたいとき
powershell
$i = 1
Get-ChildItem -Path “C:\Images” | Sort-Object Name | ForEach-Object {
Rename-Item $_ -NewName (“Image_{0:D3}.jpg” -f $i)
$i++
}
→ Image_001.jpg, Image_002.jpg のように連番でリネームできます。
② 特定の文字列を置換したいとき
powershell
Get-ChildItem -Path “C:\Docs” | Rename-Item -NewName {
$_.Name -replace “旧社名”, “新社名”
}
→ ファイル名中の「旧社名」を「新社名」に一括置換します。
安心のための「プレビュー」方法
いきなりリネームするのが不安なときは、まずは変更後の名前を確認しましょう。
powershell
Get-ChildItem -Path “C:\Test” | ForEach-Object {
“変更前: ” + $_.Name
“変更後: ” + (“New_” + $_.Name)
}
トラブルを防ぐためのやさしい注意点
・元に戻せないので、事前にバックアップをとっておくと安心です。
・拡張子(.jpg や .txt)を消さないように注意しましょう。
・フォルダ名ではなく「ファイル名」だけを対象にしたい場合は -File をつけましょう。
Get-ChildItem -Path “C:\Data” -File
まとめ
PowerShell はちょっと難しそうに見えるかもしれませんが、
「繰り返し作業をやさしく自動化」するための心強い味方です。
まずは小さなフォルダから試してみて、
「できた!」という安心感を積み重ねていきましょう。
阿久梨絵でした!
