PowerShellでSort-Objectで更新日付で並べ替えし連番でリネーム

powershell コンピュータ
powershell

カレントディレクトリにjpgファイルが複数存在する状況で更新日付順の連番で別ディレクトリにコピーしたい。
このような状況はまれなので、ついエクスプローラーで一つ一つ手動でリネームしがちですが、この類の処理はPowerShellを使うと便利です。

更新日付で並べ替えてコピー

Get-ChildItem *.jpg | Sort-Object LastWriteTIme | ForEach-Object -Begin{ $i = 0 } -Process { $i++; $dst_file = ".\outdir\{0:000}.jpg" -f $i; Copy-Item -LiteralPath $_ -Destination $dst_file }

ファイル名で並べ替えてコピー

Get-ChildItem *.jpg -File | Sort-Object Name | % -Begin { $i = 5 } -Process { $dst_file = "..\outdir\{0:00000}.jpg" -f $i; $i++; Copy-Item -LiteralPath $_ -Destination $dst_file}

以上

コメント