Powershell脚本将日期列与今天的日期列在CSV文件中,并将数据导出到其他CSV

时间:2015-08-07 12:06:16

标签: powershell

如果有人可以帮我解决这个问题。 我有一个CSV文件,我想将日期列与今天的日期进行比较,如果超过20天,我想将名称列导出为不同的CSV。

姓名日期
2015年7月7日测试
测试4/5/2015
2015年5月2日测试

1 个答案:

答案 0 :(得分:0)

假设您的CSV中的日期格式为d/M/yyyy且字段以空格分隔:

$sInFile = "C:\input.csv" # Change to your actual path
$sOutFile = "C:\output.csv" # Change to your actual path

$cInCsv = Import-Csv -Delimiter ' ' -Path $sInFile
$sDateFormat = "d/M/yyyy"
$iMaxDays = 20

$oNow = Get-Date
$cOutCsv = @()
foreach ($oRow in $cInCsv) {
    $oRowDate = [DateTime]::ParseExact($oRow.Date, $sDateFormat, $null)
    if ( ($oNow - $oRowDate).Days -gt $iMaxDays) { $cOutCsv += $oRow }
}
$cOutCsv | Export-Csv -Path $sOutFile -NoTypeInformation