PS T:\PowerShell\hoge> dir ディレクトリ: T:\PowerShell\hoge Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 2012/01/21 18:07 0 fuga.txt -a--- 2012/01/21 18:07 0 hoge.txt -a--- 2012/01/21 18:08 0 piyo.log
ファイル全部に.bakを付けたい。
PS T:\PowerShell\hoge> dir |%{Rename-Item $_ ($_.name + ".bak") } PS T:\PowerShell\hoge> dir ディレクトリ: T:\PowerShell\hoge Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 2012/01/21 18:07 0 fuga.txt.bak -a--- 2012/01/21 18:07 0 hoge.txt.bak -a--- 2012/01/21 18:08 0 piyo.log.bak
txt.bakだけに、拡張子の後に日付を入れたい。
日付は以下の様にして取れる
PS T:\PowerShell\hoge> get-date -F "yyyymmdd" 20121521
フォーマットは.NETのdatetimeformatinfoを調べればわかる。
PS T:\PowerShell\hoge> dir|?{ $_ -match "\.txt\.bak" } |%{ Rename-Item $_ ($_.na me + $(get-date -F "yyyymmdd"))} PS T:\PowerShell\hoge> dir ディレクトリ: T:\PowerShell\hoge Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 2012/01/21 18:07 0 fuga.txt.bak20122321 -a--- 2012/01/21 18:07 0 hoge.txt.bak20122321 -a--- 2012/01/21 18:08 0 piyo.log.bak
おおう、"."を足すのを忘れた