禁止使用DIR列出子文件夹

时间:2018-01-03 02:48:39

标签: batch-file cmd

当我将父文件夹拖放到bat文件中时,我有这个cmd bat文件帮我列出所有文件夹和子文件夹

ECHO OFF

SET targetPath="%~1"
SET ToolPath=%~dp0

dir %targetPath% /s /b /o:n /a:d > "%ToolPath%listFolder.txt"

根据this article关于Dir命令:

  

显示目录文件和子目录的列表。

但无论如何我可以压制用DIR列出的子文件夹,我只想要文件夹,而不是子文件夹。

1 个答案:

答案 0 :(得分:0)

删除/s开关以停止显示子目录。

dir %targetPath% /b /o:n /a:d > "%ToolPath%listFolder.txt"

获取目录的路径:

powershell -NoProfile -Command "get-childitem -Directory %targetPath% | ForEach-Object { $_.FullName }" >"%ToolPath%listFolder.txt"

仅使用cmd.exe的另一种方法:

FOR /F "usebackq tokens=*" %f IN (`DIR /B /A:D "%targetPath%"`) DO (ECHO %~dpnxf >>"%ToolPath%listfolder.txt")