5

我正在尝试列出目录中的所有文件,然后使用批处理文件将其写入文本文件。我认为应该是这样的

dir / (some flags here) >> files.txt

这将包含一个列表,如

a.exe
b.exe
c.exe

等等等等

4

4 回答 4

7

您必须使用/b开关(仅写入文件列表,没有标题和其他信息)。

dir /b >> list.txt

那么如果你需要在完整的命令中列出所有.exe文件是:c:\windows

dir c:\windows\*.exe /b >> list.txt

请注意,这>>会将列表附加到文件中。不要忘记您可以使用多种搜索模式,例如:

dir *.jpg;*.png /b > list.txt

它会将所有.jpg.png文件(仅名称,没有路径或任何其他信息)写入文件list.txt(如果文件之前确实存在,则覆盖该文件)。

如果您需要排除目录,您可以依靠/aswitch(根据属性包含/排除项目)。在您的情况下,您想排除目录,那么您必须使用-d

dir /b /a-d >> list.txt

最后不要忘记dir可以与/sswitch 递归使用(列出在给定目录和所有子目录中与搜索模式匹配的文件)并使用/o选项排序。使用dir /?以获取更多详细信息。

于 2012-10-11T19:49:33.467 回答
3

你几乎已经把它放下了。如果您只想列出该目录中的文件,那么

dir /A-D >> somefile.txt

或者

dir /A-D > somefile.txt    

dir /
  • >>追加
  • >创建新的或覆盖现有的

    目录 /AD /ON > somefile.txt

这将按名称排序。

于 2012-10-11T19:51:11.447 回答
2

干得好

dir C:\ /s /b >files.txt
于 2012-10-11T19:50:31.227 回答
0

您还可以将树用于目录树中的递归列表文件

对于转储到文本文件,您可以使用以下命令:

C:\tree "D:\我的目录" > "D:\dump file.txt"

于 2013-06-12T01:54:02.260 回答