我有一个Powershell脚本,它根据我的要求读取CSV文件并过滤掉数据,但问题是它只能在我的Windows 8.1系统上运行,而不是其他地方.该 -gt运营商要精确,脚本在其他系统上运行,如果我改变了-gt对lt,le等等.
下面是脚本.
$date1 = Date ("{0:MM/dd/yyyy}" -f (get-date).AddDays(-1)) -format G
echo $date1
Import-Csv C:\avaya\2014.04.csv | Where-Object { $_.Party1Name -eq "User_Name" -and $_.'Call Start' -gt ( $date1 ) } | Export-Csv -Path "result.csv" -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)
-gt正在按预期工作.问题是你正在尝试比较字符串值-gt.要比较日期,他们需要是DateTime对象.导入CSV文件时,所有值都将作为字符串导入.您需要将日期转换回对象DateTime.例如:
$date1=(get-date).AddDays(-1)
echo $date1
Import-Csv C:\avaya\2014.04.csv | Where-Object { $_.Party1Name -eq "User_Name" -and ($_.'Call Start' -as [datetime]) -gt $date1 } | Export-Csv -Path "result.csv" -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
552 次 |
| 最近记录: |