Powershell LastWriteTime未作为日期时间排序

Powershell LastWriteTime未作为日期时间排序,powershell,powershell-3.0,Powershell,Powershell 3.0,我需要循环浏览一个目录,删除除10个最新文件夹以外的所有文件夹。在跳过一大堆问题之后,我开始讨论这个问题 $folder = "C:\Projects\BuildDeleteTest" $keep = 10 $folders = Get-ChildItem $folder #echo $folders #echo $folders.Count echo $folders | Sort-Object -Property $_.LastWriteTime.DateTime | Select-Obj

我需要循环浏览一个目录,删除除10个最新文件夹以外的所有文件夹。在跳过一大堆问题之后,我开始讨论这个问题

$folder = "C:\Projects\BuildDeleteTest"
$keep = 10
$folders = Get-ChildItem $folder

#echo $folders
#echo $folders.Count
echo $folders | Sort-Object -Property $_.LastWriteTime.DateTime | Select-Object -First (20)
我可以删除所有项目,然后删除文件夹。但是,LastWriteDateTime实际上并没有作为日期时间排序,因为我的文件夹列表是

Mode                LastWriteTime         Length Name 
----                -------------         ------ ----
d-----       12/21/2018  10:01 AM                01 - Copy (12)
d-----       12/21/2018  10:01 AM                01 - Copy (13)
d-----       12/21/2018  10:02 AM                01 - Copy (14)
d-----       12/21/2018  10:02 AM                01 - Copy (15)
d-----       12/21/2018   9:35 AM                01 - Copy (16)
d-----       12/21/2018  10:01 AM                01 - Copy (17)
d-----       12/21/2018  10:06 AM                01 - Copy (17) - Copy
d-----       12/21/2018  10:03 AM                01 - Copy (2)
d-----       12/21/2018  10:04 AM                01 - Copy (2) - Copy
d-----       12/21/2018  10:03 AM                01 - Copy (3)
d-----       12/21/2018  10:04 AM                01 - Copy (3) - Copy
显然,
01-Copy(16)
是最早的文件,应该返回列表的顶部,但它不是。升序排序总是返回
Copy(12)
作为第一个,降序排序总是返回
01-Copy(3)-Copy
。此外,
Copy(16)
之后的所有文件夹显然都是无序的


如何根据LastWriteTime获得正确排序的文件夹数组?

您应该只指定属性名称作为排序对象的参数。也就是说,写
排序对象LastWriteTime
而不是
排序对象$\u.LastWriteTime

@Bill\u Stewart我原来只有
$\u.LastWriteTime
,得到了相同的结果。添加
.DateTime
是让它实际排序的众多尝试之一,因为
DateTime
实际上
sort对象使用属性名称本身。您只需
Get ChildItem$folders | Sort Object LastWriteTime
(而不是
$\uU5.LastWriteTime
)。$folders | Sort Object CreationTime |选择Object-First1@Bill_Stewart成功了。我将
$folders
更改为已排序的列表,并循环遍历该列表。如果你加上一个答案,我会接受的。