ファイルの拡張子を一括で変更するスクリプトを作ってみました。
「Change-FileExtension.ps1」
#引数(該当フォルダ, 変更前拡張子, 変更後拡張子) param($targetDir, $oldExt, $newExt) #正規表現の指定 $matStr = '.' + $oldExt $oldStr = '\.'+ $oldExt + '$' $newStr = '.' + $newExt #該当するファイルの拡張子を置換 Get-ChildItem -Path $targetDir | Where-Object {$_.Extension -eq $matStr} | Rename-Item -NewName { $_.Name -replace $oldStr, $newStr }
実行例
たとえばフォルダ(C:\work\test)にこのようなファイルがあるとします。このファイルの拡張子を「log」から「txt」に一括で変更するには次のよう引数を指定します。
引数は左から「該当フォルダ」「変更前拡張子」「変更後拡張子」。
PS C:\work\access> .\Change-FileExtension.ps1 C:\work\test log txt
実行するとこのように拡張子が一括で変更されます。
スポンサーリンク