如何计算批处理文件中的子文件夹

How can I count subfolders in a Batch file

我需要计算文件夹中最长路径的数量,并将其放入一个变量中。因为当我递归删除子文件夹时,我必须多次执行以检查是否还有其他空文件夹。

FOR /l %%y IN (0, 1, 3) DO (
FOR /r "%MyPath%" /d %%F IN (.) DO DIR /b "%%F" | findstr "^" > NUL || RD "%%F"
)

我不知道是否有可用于删除所有空子文件夹的参数,但我发现的都是这种方式,我需要用最大路径中的子文件夹数替换 3。

for /f "delims=" %%s in ('dir /s /b /ad "%sourcedir%"^|sort /r') do dir /b "%%s"|findstr "^" > NUL|| RD "%%s"

应该删除您的空目录。

dir 命令列出以 sourcedir 为根的树中的目录。这是按相反顺序排序的,因此任何子目录的子目录都在子目录之前处理。

我会定位一个测试目录 - 好吧,测试...