DateTime FreeSpace(MB)
----- -------------
03/01/2010 100.43
DateTime FreeSpace(MB)
----- -------------
03/02/2010 98.31
....
然后我需要使用此文件作为输入来生成一个日期之间自由空间差异的报告:
DateTime FreeSpace(MB) Change
----- ------------- ------
03/01/2010 100.43
03/02/2010 98.31 2.12
....
以下是一些代码,我必须在不进行额外“更改”计算的情况下获得上述结果:
Get-Content "C:\report\sp.txt" `
| where {$_.trim().length -gt 0 -and -not ($_ -like "Date*") -and -not ($_ -like "---*")} `
| Select-Object @{Name='DateTime'; expression={[DateTime]::Parse($_.SubString(0, 10).Trim())}}, `
@{Name='FreeSpace(MB)'; expression={$_.SubString(12, 12).Trim()}}, `
| Sort-Object DateTime `
| Select-Object DateTime, 'FreeSpace(MB)' |ft -AutoSize # how to add additional column Change to this Select-Object?
为了计算日期之间的差异,我想我需要向上一个Select对象的结果中添加额外的计算值,或者通过管道将结果传递到另一个Select对象,并将计算作为附加属性或列。为此,我需要获取前一行的FreeSpace值。不确定是否可能以及如何实现?