【发布时间】:2016-11-15 13:06:48
【问题描述】:
我正在尝试遍历目录中的所有子目录并将其名称回显到文本文件,然后对于每个子目录中的每个文件,将文件名和扩展名回显到同一文本文件。到目前为止,我的 .bat 文件中有以下内容:
@echo off
for /D %%d in (*) do (echo %%d >> test.txt
for /r %%i in (%%d) do echo %%~nxi >> test.txt)
个别
for /D %%d in (*) do (echo %%d >> test.txt
和
for /r %%i in (*) do echo %%~nxi >> test.txt)
在 * 中输出子目录或文件的名称,但是当我将它们组合起来时,我只是得到子目录的名称在文本文件中重复了很多次。
我在这个嵌套循环中做错了什么?如何修复它以输出我需要的内容?
所需输出示例:
Directory1
File1.txt
File2.txt
File3.txt
Directory2
Filex.jpg
Filey.jpg
【问题讨论】:
-
为什么不直接使用
tree? -
这样做的最终目的是为我生成代码。我正在使用的目录有几个文件夹,每个文件夹都有很多图像。我想使用脚本生成代码来构建包含所有文件的对象,而不必手动捕获所有信息。
-
几周前回答了一个类似的问题。 stackoverflow.com/a/40225913/1417694
标签: loops batch-file directory