8

Powershell中Get-ChildItem命令的结果集默认顺序是什么?是否有顺序,或者它只是随机的,并且每次都会以不同的顺序给出结果。

4

3 回答 3

13

没有保证的默认排序顺序。该文档没有说明。

中的实现FileSystemProvider最终调用DirectoryInfo.GetFiles. 该状态的文档

返回文件名的顺序不保证;如果需要特定的排序顺序,请使用 Sort 方法。

底层 API 调用是Find­First­FileFindNextFile。Raymond Chen在此解释说,实际上文件系统驱动程序可能会遵守一些排序规则,但不应依赖于此。

于 2016-11-15T21:07:47.860 回答
4

默认排序对我不起作用。我得到:

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        2015-10-12     10:51            tools
d----        2015-10-12     10:58            cfg
d----        2015-10-12     10:51            res
d----        2015-10-12     10:50            brand
d----        2015-10-12     10:51            lib

我不记得更改排序顺序。我在 Windows 7 SP1 上。如果我需要排序结果,我必须这样做ls | sort

于 2015-10-20T13:13:14.850 回答
-1
First folders in alphanumeric order (first numbers as [char]).
Then files in alphanumeric order (first numbers as [char]).
于 2013-04-04T10:13:54.900 回答