カレントディレクトリに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}
以上
コメント