Powershell不正确的日期排序

mac*_*ack 3 csv powershell powershell-2.0

我有一个CSV文件,其中包含各种不同的ID.有了一点帮助,我已经能够将文件修剪为具有最早日期的ID,并且它的工作效果很好......大部分时间.我有几个记录似乎返回最新的日期,而另一个记录返回最旧的,我无法弄清楚为什么.发生这种情况的记录总是相同的.

以下是我输入CSV中的示例:

Number  File Date
OU00067949, 6/14/2012,
OU00067949, 6/19/2012,
OU00067949, 11/15/2012,
OU00067949, 1/30/2013,
OU00080302, 1/3/2013,
OU00080302, 1/3/2013,
OU00080302, 12/28/2012,
OU00080302, 12/28/2012,
OU00080302, 12/27/2012,
OU00080302, 12/27/2012,
OU00080281, 2/14/2013,
OU00080281, 1/30/2013,
OU00080281, 1/16/2013,
OU00080319, 12/27/2012,
OU00080319, 12/27/2012,
Run Code Online (Sandbox Code Playgroud)

这是输出:

Number  File Date
OU00067949, 1/30/2013,
OU00080302, 1/3/2013,
OU00080281, 1/16/2013,
OU00080319, 12/27/2012,
Run Code Online (Sandbox Code Playgroud)

我期待OU00067949的日期为6/14/2012,因为这是最早的日期.相反,我得到了2013年1月30日.OU00080302也是如此,但其他都是正确的.有什么可能导致这个的线索?

这就是脚本的全部内容:

Import-CSV $ImportFile | Group-Object "Number" | ForEach-Object { $_.Group | Sort-Object "File Date" | Select -First 1} | Export-CSV $ExportFile -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

Neo*_*isk 12

看起来它正在尝试将日期排序为字符串.试试这个:

Import-CSV $ImportFile | Group-Object "Number" | ForEach-Object { $_.Group | Sort-Object { $_."File Date" -as [datetime] } | Select -First 1} | Export-CSV $ExportFile -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)

所以这:

Sort-Object "File Date"
Run Code Online (Sandbox Code Playgroud)

成了这个:

Sort-Object { $_."File Date" -as [datetime] }
Run Code Online (Sandbox Code Playgroud)

信用到这里: