批处理 删除目录下的所有文件
批处理删除目录下的所有文件
遍历当前目录树下的所有文件
1 | for /r . %i in (*.md) do echo %i |
对上述代码,修改一下就可删除掉这些文件,如下所示。
删除当前目录树下的所有markdown文件
1 | for /r . %i in (*.md) do del "%i" |
但这样不好的地方就是目录没有删除掉,会留下大量的空目录。
遍历某个目录下的所有目录
1 | for /d %i in (E:\Blog\blog5MD\C语言\*) do @echo %i |
运行结果:
1 | E:\Blog\blog5MD\C语言>for /d %i in (E:\Blog\blog5MD\C语言\*) do @echo %i |
这样就好办了,我只要删除掉这些遍历出来的目录树即可。
1 | for /d %i in (E:\Blog\blog5MD\C语言\*) do @rmdir /s %i |
运行结果:
1 | E:\Blog\blog5MD\C语言>for /d %i in (E:\Blog\blog5MD\C语言\*) do @rmdir /s %i |
可以看到这样是没有问题的,接下来加上/q
参数让删除目录树命令rmdir
不询问即可。
1 | for /d %i in (E:\Blog\blog5MD\C语言\*) do @rmdir /q /s %i |
这样就删除掉了E:\Blog\blog5MD\C语言\
这个目录下的所有目录树,但是这个目录E:\Blog\blog5MD\C语言\
下的文件就不会被删掉,因为我们只遍历目录,然后删除目录,文件还没有操作。删除文件也简单,直接使用del
命令即可。
最终代码
删除E:\Blog\blog5MD\C语言
目录下的所有markdown文件。
1 | for /d %%i in (E:\Blog\blog5MD\C语言\*) do @rmdir /q /s %%i |