我需要一个脚本,该脚本将使用“开始日期”中的日期从.csv文件导入过去7天内的数据行。列(如下面的示例数据中的.csv中所示),然后将数据另存为另一个.csv文件。
"Name","Title","Date Started"
Dave,Manager,02/12/2015
Jim,Worker,05/08/2015
Susan,Worker,04/07/2015
答案 0 :(得分:1)
导入源文件后,将Date Started
列的值转换为实际日期,然后过滤所需时间范围内的值并导出结果:
$maxage = (Get-Date).AddDays(-7)
Import-Csv 'C:\path\to\input.csv' |
Where-Object { [DateTime]$_.'Date Started' -ge $maxage } |
Export-Csv 'C:\path\to\output.csv' -NoType
如果将值转换为DateTime
对象并不起作用,则需要像这样解析它(根据需要调整格式字符串):
[DateTime]::ParseExact(($_.'Date Started', 'dd\/MM\/yyyy', [Globalization.CultureInfo]::InvariantCulture)