2014/08/19

PowerShell ファイル名に含まれる連番の桁を揃える~ゼロパティング

ファイル名に数字の連番が含まれる事、よくありませんか?
今回は、PowerShell を使って連番の桁を揃えるサンプルを書いてみました。

ファイル名に含まれる連番の桁を揃える

大量のファイル名に連番が振られている場合、アプリケーションによってはファイルの並び順が「1,10,11,2,20…」となるケースがあります。
そこで、連番の数字にゼロ(0)を付与して桁を合わせる「ゼロパティング」をしたいと思います。
イメージは下記画像です。

サンプル

サンプルは正規表現で数値を見つけ、リネーム処理(ゼロパティング)をする単純なスクリプトです。
$ZeroStrings = "000"
foreach($f in Get-ChildItem -Name){
    $r = [regex]::Matches($f,"\d+")
    Rename-Item -Path $f -NewName $f.replace($r.value, ([int]($r.value)).ToString($ZeroStrings))
}
スポンサーリンク

スポンサーリンク