
ファイルの拡張子を一括で変更するスクリプトを作ってみました。
「Change-FileExtension.ps1」
1 2 3 4 5 6 7 8 9 10 | #引数(該当フォルダ, 変更前拡張子, 変更後拡張子) 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」に一括で変更するには次のよう引数を指定します。
引数は左から「該当フォルダ」「変更前拡張子」「変更後拡張子」。
1 | PS C:\work\access> .\Change -FileExtension .ps1 C:\work\test log txt |
実行するとこのように拡張子が一括で変更されます。

スポンサーリンク