如何获取子文件夹及其文件的列表,按文件夹名称排序 [英] How to get a list of sub-folders and their files, ordered by folder-names

查看:241
本文介绍了如何获取子文件夹及其文件的列表,按文件夹名称排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以使用 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

但是我想得到 -

  d:\root0\root1\file00.txt 
d:\root0\root1\file01.txt
d:\root0\root1\folderA
D:\root 0\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

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



谢谢



Atara

解决方案

使用排序

  dir / b / s |排序

这是一个我测试的例子:



< hr>

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






dir / s / b |排序

  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






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

  dir / a:d / s / b |排序


Can I use dir command-line to get a list of sub-folders and their files, ordered by folder-names, and not just file-names ?

using

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

I first get all sub-folders and only then all sub files, e.g.:

 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

But I want to get -

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

["file00.txt" and "file01.txt" can also be at the end of the list]

Thanks,

Atara

解决方案

How about using sort?

dir /b /s | sort

Here's an example I tested with:


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


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


To just get directories, use the /A:D parameter:

dir /a:d /s /b | sort

这篇关于如何获取子文件夹及其文件的列表,按文件夹名称排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆