如何获取文件夹和子文件夹列表而不包括文件?

87

我试图将一个目录下的文件夹子文件夹列表打印到一个文件中。

当我运行 dir /s/b/o:n > f.txt 时,我也得到了文件的列表。我只需要文件夹和子文件夹。

有人知道如何从命令行界面实现这个吗?

6个回答

164

试试这个:

dir /s /b /o:n /ad > f.txt

嗨,上述命令还会列出隐藏和系统文件夹。即使Windows文件夹选项已设置为显示此类文件夹,我们是否可以忽略它们? - user187023
谢谢你!你还认为DOS命令在Windows 10中会得到支持吗? - Andrew Simpson
9
不确定为什么您混合使用符号?只需使用dir /s /b /o:n /a:d > f.txtdir /s /b /on /ad > f.txt中的任意一种即可。个人而言,我使用:来标记开关属性,因为这样更清楚地表明了正在发生的事情。 - user692942
@Lankymart 很好的观点!从未关注过参数符号的不同写法。 - Andreas

20
 Displays a list of files and subdirectories in a directory.

 DIR [ drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
  [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

  [drive:][path][filename]
          Specifies drive, directory, and/or files to list.

  /A          Displays files with specified attributes.
  attributes   D  Directories                R  Read-only files
           H  Hidden files               A  Files ready for archiving
           S  System files               I  Not content indexed files
           L  Reparse Points             -  Prefix meaning not

只需设置所需文件属性的类型,对于您的情况是 /A:D (目录)

dir /s/b/o:n/A:D > f.txt


6

我没有足够的声望来评论任何答案。在其中一条评论中,有人问如何忽略列表中的隐藏文件夹。以下是您可以做到这一点的方法。

dir /b /AD-H

并在递归子文件夹中添加/s - fig

5

我正在使用PowerShell执行此操作:

dir -directory -name -recurse > list_my_folders.txt

5
我使用了dir /s /b /o:n /a:d,它完美地运行了,只要确保文件写入完成,否则会有不完整的列表。

3

dir /ad /b /s will give the required answer.


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接