首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从批处理文件中仅删除空目录

如何从批处理文件中仅删除空目录
EN

Stack Overflow用户
提问于 2010-04-23 18:47:33
回答 5查看 19.7K关注 0票数 4

有没有办法从批处理文件中删除给定目录下的所有空子目录?

或者,是否可以递归复制目录,但不包括任何空目录?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-04-23 19:01:26

要复制忽略空目录的内容,可以使用以下方法之一:

代码语言:javascript
运行
复制
robocopy c:\source\ c:\dest\ * /s
xcopy c:\source c:\dest\*.* /s
票数 5
EN

Stack Overflow用户

发布于 2012-06-13 05:47:27

你确实有两个问题:

1.有没有办法从批处理文件中删除给定目录下的所有空子目录?

是。这个只有一行的DOS批处理文件适合我。您可以传入一个模式/ root的参数,否则它将使用当前目录。

代码语言:javascript
运行
复制
for /f "delims=" %%d in ('dir /s /b /ad %1 ^| sort /r') do rd "%%d" 2>nul

我使用'dir|sort‘的原因是为了提高性能( 'dir’和'sort‘都相当快)。它避免了在其他答案之一中使用的递归批处理函数解决方案,这是完全有效的,但可能会非常慢:-(

2.或者可以递归复制目录,但不包括任何空目录?

在其他答案中列出了许多方法来做到这一点。

票数 13
EN

Stack Overflow用户

发布于 2010-04-23 19:01:44

xcopy的/s将在复制时忽略空文件夹

代码语言:javascript
运行
复制
xcopy * path\to\newfolder /s /q
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2697885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档