moh*_*sen 118 windows command-line
我的 Windows 7 机器上有一个目录,它有数百个甚至数千个子目录。其中一些有文件,有些没有。我想删除所有空目录。
查看 del 和 rmdir DOS 命令,您似乎无法在不删除所有文件的情况下递归执行此操作。有没有办法从命令行执行此操作?
cal*_*ban 139
您可以使用删除空目录实用程序。
或者,您可以使用此单行批处理文件(来自DownloadSquad):
for /f "delims=" %d in ('dir /s /b /ad ^| sort /r') do rd "%d"
Run Code Online (Sandbox Code Playgroud)
(如果在批处理文件中使用,请替换%d为%%d)
这是有效的,因为rd不会删除包含文件的目录。
Var*_*rma 81
您也可以使用 ROBOCOPY。它非常简单,也可用于删除大型层次结构中的空文件夹。
ROBOCOPY folder1 folder1 /S /MOVE
Run Code Online (Sandbox Code Playgroud)
这里的源和目标都是folder1,因为您只需要删除空文件夹,而不是将其他文件移动到不同的文件夹。/S选项是跳过复制(在上述情况下移动)空文件夹。由于文件在同一驱动器内移动,因此速度也更快。
小智 18
由于 Cygwin 带有 GNU find,因此您可以执行以下操作:
find . -type d -empty -delete
Run Code Online (Sandbox Code Playgroud)
或者为了避免文件夹不再存在时的噪音:
find . -type d -empty -execdir rmdir {} +
Run Code Online (Sandbox Code Playgroud)
嗯...也许更简单的解决方案:
for /d /r %d in (*.*) do rd "%d"
从您想要删除空文件夹的文件夹开始。
/d - 将适用于文件夹,而不是文件 /r - 将递归子目录
| 归档时间: |
|
| 查看次数: |
184999 次 |
| 最近记录: |