【发布时间】:2020-12-28 15:14:15
【问题描述】:
有一个目录结构,我需要从中列出所有文件夹,其中至少包含一个文件。所以当一个文件夹只包含子文件夹时,它不应该被列出。 我为此尝试了以下命令,但两者都列出了没有任何文件的目录。
dir /s /b /o:n /ad > f.txt
for /r %a in (.) do @if exist "%~fa\*.*" echo %~fa >> f2.txt
更新: 我也试过这个命令:
for /r /d %a in (.) do @(dir /s /b /a-d "%a\*" >nul 2>&1 && echo %~fa)
文件夹结构:
C:.
└───T1
├───T2
└───T3
test.txt
命令输出:
C:\_privat\teszt
C:\_privat\teszt\T1
C:\_privat\teszt\T1\T3
预期输出:
C:\_privat\teszt\T1\T3
【问题讨论】:
-
包含非空子文件夹的文件夹怎么办?它不包含文件,仅包含文件夹,但其中一个或多个子文件夹可能包含文件。根据您的描述,它不应该被列出。对吗?
-
@Stephan :不,也应该列出。之后,这些路径将作为文件处理应用程序的输入。谢谢,你提到了这个案例!
标签: windows cmd command-prompt directory-structure