【PowerShell】ファイル名を一括で変更する方法


この記事はプロモーションを含みます。

PowerShell

ホーム > PowerShell 逆引きリファレンス

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

関連記事

コメント

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