たくさんのファイルをファイル名の番号順に並べたいと思っても、作成時刻や更新時刻順に並んでしまうことがある。そこで、ファイル名の先頭2文字(01,02.。。)の数字を取得して、これをもとにファイルの作成時刻、更新時刻を変換してみた。
powershellのコマンドをいろいろ調べながら作ってみた。パイプやForeachが使え便利である。
Get-ChildItem -Path "G:\MOVIE\*.avi" | Where-Object { $_ -is [System.IO.FileInfo] } | ForEach-Object {$t=($_.Name).Substring(0,2) ;$su=[int]$t;$hun=[string]([Math]::Floor($su/60));$byo=[string]($su%60); Set-ItemProperty $_.FullName -Name LastWriteTime -Value "2015/01/01 ${hun}:${byo}:00" } Get-ChildItem -Path "G:\MOVIE\*.avi" | Where-Object { $_ -is [System.IO.FileInfo] } | ForEach-Object {$t=($_.Name).Substring(0,2) ;$su=[int]$t;$hun2=[string]([Math]::Floor($su/60));$byo2=[string]($su%60); Set-ItemProperty $_.FullName -Name CreationTime -Value "2015/01/01 ${hun2}:${byo2}:00" }
0 件のコメント:
コメントを投稿