Use an Add-Member or custom expression in select , depending on how you need it.
Calculate and save. Saves the original object, but adds one custom column
$data = dir | % { Add-Member -InputObject $_ -MemberType NoteProperty -Name "ComputedColumn" -Value $_.LastWriteTime.AddYears(1).ToString("yyyyMMdd") -PassThru }
Compute it before displaying (or export to csv, etc.)
dir | select Mode, LastWriteTime, Length, Name, @{name="ComputedColumn";expression={ $_.LastWriteTime.AddYears(1).ToString("yyyyMMdd") }}
Ex. with format table for proper display
dir | select Mode, LastWriteTime, Length, Name, @{name="ComputedColumn";expression={ $_.LastWriteTime.AddYears(1).ToString("yyyyMMdd") }} | ft -AutoSize Mode LastWriteTime Length Name ComputedColumn ---- ------------- ------ ---- -------------- dr-- 14.04.2013 17:47:18 Contacts 20140414 dr-- 15.05.2013 14:19:45 Desktop 20140515 dr-- 14.04.2013 18:03:33 Documents 20140414 dr-- 11.05.2013 18:22:57 Downloads 20140511
source share