我的驱动器中的文件夹结构如下(在 Windows 中):
Folder 1
Fd1
Fd2
Fd3
Fd4
Fd5
Folder 2
Fd1
Fd2
Fd3
Fd4
Fd5
数百个文件夹都采用这种排列方式。文件夹内部Fd1每个文件夹 x有一些.bat
文件。我正在寻找一种方法,使用 Windows 命令行将包含完整路径的文件列表提取.bat
到文本文件中。由于缺乏使用命令提示符的经验,我不知道如何实现这一点。
我希望输出是如下列表:
............
D:\Folder 1\Fd1\one.bat
D:\Folder 2\Fd2\two.bat
............
有人能帮我吗?
答案1
如果我明白你在寻找什么,请尝试
dir/s/b *.bat
如果有效则将其重定向到文本文件...
dir/s/b *.bat > textfile.txt
您可能还会发现,列出DIR 命令的命令行开关。
答案2
我建议使用带有 /R 开关的 FOR 命令。
例如,要查找当前目录中及该目录中的所有文件,请使用:
for /r %i in (*) do @echo %i
要从任意目录开始搜索,请使用以下命令形式:
for /r "C:\TMP" %i in (*) do @echo %i
最后,要查找 c:\bin 目录下的所有批处理文件,您可以执行以下操作:
for /r "c:\bin" %i in (*.bat) do @echo %i
不过,我要指出的一点是,如果您在批处理文件中使用此命令,则需要将 % 符号加倍,因此这些示例将变成:
for /r %%i in (*) do @echo %%i
for /r "C:\TMP" %%i in (*) do @echo %%i
for /r "c:\bin" %%i in (*.bat) do @echo %%i
这里使用 i 作为变量是完全任意的,并且是在我学习 FORTRAN 时首次植入我心中的。