【发布时间】:2018-03-13 16:00:08
【问题描述】:
大家好!我有一个包含数百万个文件、目录和子目录的父文件夹。我想知道所有包含文件的文件夹并在文本文件中生成所有这些文件夹名称。 我试过玩下面的批处理命令
dir /A:-D /b /s > files.txt
输出
temp/user/clientA/XML/ITCJXQ 1001111/1001111.xml
temp/user/clientA/XML/ITCJXQ 1001111/1001111.pdf
temp/user/clientA/XML/ITCJXQ 1001111/1001111.html
temp/user/clientA/XML/ITCJXQ 1002345/1002345.xml
temp/user/clientA/XML/ITCJXQ 1002345/1002345.pdf
temp/user/clientA/XML/ITCJXQ 1002345/1002345.html
我期望看到的是
temp/user/clientA/XML/ITCJXQ 1001111/
temp/user/clientA/XML/ITCJXQ 1002345/
【问题讨论】:
-
欢迎来到Stack Overflow!这个问题是关于如何使用 Windows/cmd/DOS,所以它属于我们的姊妹站点,Super User。请阅读their tour,并了解如何使用问题编辑器中的代码格式化按钮。谢谢!
-
@jpaugh,我不同意它属于超级用户。这是进入批处理文件的代码,这使它成为一个编程问题。
-
我从未见过带有正斜杠的
DIR命令输出。想知道您是如何获得该输出的。 -
不过,作为第一步,
/A:-D是错误的(请参阅DIR /?的输出以获取帮助)。该命令是/AD(仅用于目录)或/A-D(仅用于文件)。但是,第一种形式列出了 all 目录,而不仅仅是那些包含文件的目录。查看FOR /?-- 特别是FOR /R遍历目录树 -- 然后您可以在其中测试文件是否存在。 -
@TripeHound,
/A:-D(或/A:D)的形式没有错,冒号只是可选的...
标签: batch-file cmd