21

我已经搜索和搜索无济于事,如果答案确实存在,我深表歉意。

我对批处理文件不是很好,所以请记住这一点。

我所追求的只是一个批处理文件,它将列出/保存以归档当前文件夹中的文件夹列表。

所以基本上如果我在某个文件夹中运行这个批处理文件,它将输出运行批处理文件的文件夹中的所有文件夹(不是文件或子文件夹,只是到一个级别)。

我认为这可能是一个简单的请求,但是我在 Google 等上没有任何运气。

4

3 回答 3

60

目录

使用dir命令。输入dir /?帮助和选项。

dir /a:d /b

重定向

然后使用重定向将列表保存到文件中。

> list.txt

一起

dir /a:d /b > list.txt

这将只输出目录的名称。如果您想要目录的完整路径,请在下面使用。


完整路径

for /f "delims=" %%D in ('dir /a:d /b') do echo %%~fD

选择

其他方法只使用for命令。请参阅for /?帮助和选项。这可以只输出名称%%~nxD或完整路径%%~fD

for /d %%D in (*) do echo %%~fD

笔记

要直接在命令行上使用这些命令,请将双百分号更改为单百分号。%%%

要重定向for方法,只需在 echo 语句之后添加重定向。在此处使用双箭头>>重定向附加到文件,否则由于覆盖所有其他语句,只会将最后一条语句写入文件。

... echo %%~fD>> list.txt
于 2013-01-26T14:49:33.163 回答
1

打印保存批处理脚本文件的所有文件夹名称

for /d %%d in (*.*) do (
    set test=%%d
    echo !test!
)
pause
于 2014-07-21T08:19:23.233 回答
0

我试过这个命令来显示目录中的文件列表。

dir /s /b > List.txt

在文件中,它显示下面的列表。

C:\Program Files (x86)\Cisco Systems\Cisco Jabber\XmppMgr.dll

C:\Program Files (x86)\Cisco Systems\Cisco Jabber\XmppSDK.dll

C:\Program Files (x86)\Cisco Systems\Cisco Jabber\accessories\Plantronics

C:\Program Files (x86)\Cisco Systems\Cisco Jabber\accessories\SennheiserJabberPlugin.dll

C:\Program Files (x86)\Cisco Systems\Cisco Jabber\accessories\Logitech\LogiUCPluginForCisco

C:\Program Files (x86)\Cisco Systems\Cisco Jabber\accessories\Logitech\LogiUCPluginForCisco\lucpcisco.dll

想要做的只是显示子目录而不是完整的目录路径。

像这样:

Cisco Jabber\XmppMgr.dll Cisco Jabber\XmppSDK.dll

Cisco Jabber\附件\JabraJabberPlugin.dll

Cisco Jabber\附件\罗技

Cisco Jabber\附件\Plantronics

Cisco Jabber\附件\SennheiserJabberPlugin.dll

于 2016-07-13T06:02:28.470 回答