我已经搜索和搜索无济于事,如果答案确实存在,我深表歉意。
我对批处理文件不是很好,所以请记住这一点。
我所追求的只是一个批处理文件,它将列出/保存以归档当前文件夹中的文件夹列表。
所以基本上如果我在某个文件夹中运行这个批处理文件,它将输出运行批处理文件的文件夹中的所有文件夹(不是文件或子文件夹,只是到一个级别)。
我认为这可能是一个简单的请求,但是我在 Google 等上没有任何运气。
我已经搜索和搜索无济于事,如果答案确实存在,我深表歉意。
我对批处理文件不是很好,所以请记住这一点。
我所追求的只是一个批处理文件,它将列出/保存以归档当前文件夹中的文件夹列表。
所以基本上如果我在某个文件夹中运行这个批处理文件,它将输出运行批处理文件的文件夹中的所有文件夹(不是文件或子文件夹,只是到一个级别)。
我认为这可能是一个简单的请求,但是我在 Google 等上没有任何运气。
使用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
打印保存批处理脚本文件的所有文件夹名称
for /d %%d in (*.*) do (
set test=%%d
echo !test!
)
pause
我试过这个命令来显示目录中的文件列表。
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