PowerShellで、ファイル名を一括でリネームする方法を解説します。
単一のファイル名をリネームする
単一のファイル名をリネームする方法を説明します。
書式
Rename-Item -Path "リネームするファイルのパス" -NewName "リネーム後のファイル名"
サンプル
「あいうえお.txt」を「かきくけこ.txt」にリネームするサンプルです。
PS C:\ws> Get-ChildItem -Name あいうえお.txt PS C:\ws> Rename-Item -Path "C:\ws\あいうえお.txt" -NewName "かきくけこ.txt" PS C:\ws> Get-ChildItem -Name かきくけこ.txt
リンク
複数のファイル名を一括でリネームする
複数のファイル名を一括でリネームする方法を説明します。
書式
Get-ChildItem "リネームするファイルのパス" | Rename-Item -NewName{$_.Name -Replace "置換する文字列","置換後の文字列"}
サンプル
拡張子が「.txt」となっているファイルを「.log」に一括でリネームするサンプルです。
PS C:\ws> Get-ChildItem -Name あいうえお.txt かきくけこ.txt さしすせそ.txt PS C:\ws> Get-ChildItem "C:\ws\*.txt" | Rename-Item -NewName{$_.Name -Replace "txt","log"} PS C:\ws> Get-ChildItem -Name あいうえお.log かきくけこ.log さしすせそ.log
ファイル名を一括でリネームするスクリプト
複数のファイルを一括でリネームする処理をスクリプト化しました。
以下のコードをコピペし、任意のファイル名(拡張子は「.ps1」)として保存することで使用することが出来ます。
下記のパラメーターは、適宜変更して下さい。
- リネームするファイルの格納パス
- 置換する文字列
- 置換後の文字列
# リネームするファイルの格納パス
$file_path = "C:\ws\*.txt"
# 置換する文字列
$from_str = "txt"
# 置換後の文字列
$to_str = "log"
# リネーム前の確認
Split-Path $file_path -Parent | Get-ChildItem -Name
# リネームの実行
echo リネームを実行しました。
Get-ChildItem $file_path | Rename-Item -NewName{$_.Name -Replace $from_str, $to_str}
# リネーム後の確認
Split-Path $file_path -Parent | Get-ChildItem -Name
pause
リンク
コメント