如何获取按文件夹名称排序的子文件夹及其文件列表

Ata*_*ara 69 directory command-line dos

我可以使用dir命令行来获取子文件夹及其文件的列表,按文件夹名称排序,而不仅仅是文件名?

运用

dir/s/b/o:gn> f.txt

我首先获取所有子文件夹,然后只获取所有子文件,例如:

 d:\root0\root1\folderA
 d:\root0\root1\folderB
 d:\root0\root1\file00.txt
 d:\root0\root1\file01.txt
 d:\root0\root1\folderA\fileA00.txt
 d:\root0\root1\folderA\fileA01.txt
 d:\root0\root1\folderB\fileB00.txt
 d:\root0\root1\folderB\fileB01.txt
Run Code Online (Sandbox Code Playgroud)

但我想得到 -

d:\root0\root1\file00.txt
d:\root0\root1\file01.txt
d:\root0\root1\folderA
d:\root0\root1\folderA\fileA00.txt
d:\root0\root1\folderA\fileA01.txt
d:\root0\root1\folderB
d:\root0\root1\folderB\fileB00.txt
d:\root0\root1\folderB\fileB01.txt
Run Code Online (Sandbox Code Playgroud)

["file00.txt"和"file01.txt"也可以在列表的末尾]

谢谢,

Atara

Cyl*_*ric 93

怎么用sort

dir /b /s | sort
Run Code Online (Sandbox Code Playgroud)

这是我测试过的一个例子:


dir /s /b /o:gn

d:\root0
d:\root0\root1
d:\root0\root1\folderA
d:\root0\root1\folderB
d:\root0\root1\file00.txt
d:\root0\root1\file01.txt
d:\root0\root1\folderA\fileA00.txt
d:\root0\root1\folderA\fileA01.txt
d:\root0\root1\folderB\fileB00.txt
d:\root0\root1\folderB\fileB01.txt
Run Code Online (Sandbox Code Playgroud)

dir /s /b | sort

d:\root0
d:\root0\root1
d:\root0\root1\file00.txt
d:\root0\root1\file01.txt
d:\root0\root1\folderA
d:\root0\root1\folderA\fileA00.txt
d:\root0\root1\folderA\fileA01.txt
d:\root0\root1\folderB
d:\root0\root1\folderB\fileB00.txt
d:\root0\root1\folderB\fileB01.txt
Run Code Online (Sandbox Code Playgroud)

要获取目录,请使用以下/A:D参数:

dir /a:d /s /b | sort
Run Code Online (Sandbox Code Playgroud)

  • @HemusSan只列出文件:`dir/a:-d/s/b | sort` (6认同)

小智 9

嘿,伙计,你为什么要用这个?

dir/s/b/o:gn> f.txt (错误的一个)

难道你不知道'/ o'中'g'是什么?

看看这个:http://www.computerhope.com/dirhlp.htm或dir /?为dir帮助

您应该使用此代替:

dir/s/b/o:n> f.txt (右一)


小智 5

dir /b /a-d /s *.* 将满足您的要求.