2021/11/08

カレントディレクトリ以下のすべてのファイルの作成日時を更新日時にしたかったpowershell

powershellなかなか便利だな。でもこれ書くのに30分くらいかかった。set-itemproperty $_.FullNameとget-itemproperty $_.FullNameのところで書き方がわからず、エラー内容もちょっと意味不明だったのよ、初心者のわいからすると。
get-childitem -path .\ -recurse | where-object { $_ -is [System.IO.FileInfo] } | foreach-object { set-itemproperty $_.FullName -Name CreationTime -Value (get-itemproperty $_.FullName).LastWriteTime }

既存の数値フォルダ名を0埋めしたフォルダ名リストが欲しかったpowershell

shellscriptならこんな感じですぐ書けるけど
% for DIRNAME in $(ls);do;printf "%010d\n" $DIRNAME >>folderlist.txt ;done;
# or
% ls | tr ' ' '\n' | xargs printf "%010d\n" >folderlist.txt
powershellは慣れていないので、これを書くのに20分くらいかかった。
dir|select-object Name|foreach-object{($_.Name -as [string]).padleft(10, '0')} >folderlist.txt