删除空目录

删除空目录

我在这个站点上找到了这个用于递归删除空目录的命令,但由于我刚刚注册并且没有任何代表,所以无法评论提出这个问题......

for /f "delims=" %d in ('dir /s /b /ad ^| sort /r') do rd "%d"

我犹豫是否在服务器上运行它(在我的 Win7 笔记本电脑上的测试目录中运行良好).....我在我希望它启动的目录中运行它。我应该只在它应该递归检查的目录中运行它吗?还是有办法设置起点?

答案1

在其他目录中启动命令

for /f "delims=" %d in ('dir c:\pathtostart /s /b /ad ^| sort /r') do rd "%d"

c:\pathtostart酌情更改。


使用批处理文件

或者创建一个批处理文件RemoveEmptyDirs.cmd

@echo off 
for /f "delims=" %%d in ('dir %1 /s /b /ad ^| sort /r') do rd "%%d"

并调用如下:

RemoveEmptyDirs c:\pathtostart

移除前进行测试

如果你犹豫不决,那么可以测试一下会发生什么,将其替换rdecho。这将回显将被删除的目录列表。

当您对列表满意时,用 替换echord运行删除。

答案2

使用。如果您想从包含空格 ( )dir "%~1"的目录中开始,这也会处理带引号的路径。RemoveEmptyDirs "C:\program files"

相关内容