CMD 使用 DIR 按名称排序目录

CMD 使用 DIR 按名称排序目录

我正在使用以下命令列出文件(包括按名称排序的子目录中的文件)。

dir /b/s/on

文件在给定目录中的排序正确,但目录没有排序。目录似乎按上次修改日期排序。

还能dir对目录进行排序吗?

以下是部分输出的截图(已混淆):

在此处输入图片描述

答案1

dir正在对目录进行树形遍历,但只对叶目录中的条目进行排序。这是一个问题,因为它是一个 FAT 文件系统。在 FAT 文件系统上,任何给定目录中的条目都是未排序的,从而导致树形遍历未排序。相比之下,NTFS 目录始终是排序的。

您有几个解决方案。最简单的方法是通过管道传输输出sort

dir /b/s | sort

(如果您使用sort进行订购,则无需选择/ondir

另一个选择是使用 Unix 风格的ls,这肯定能解决问题。示例可以ls赛格威或者我自己的汉密尔顿C壳

相关内容