如何编写批处理文件删除其所在目录下的所有文件和子文件夹
你可以在原有代码基础上新增遍历删除子目录的逻辑即可,修改后的完整代码如下:
cd "%~dp0" :: 删除当前目录下除自身外的所有文件 for %%i in (*.*) do if not "%%i"=="%~nx0" del /f /q "%%i" :: 删除当前目录下所有子文件夹 for /d %%d in (*) do rd /s /q "%%d"
- 新增的
for /d是批处理中专门用于遍历目录的语法,此处会匹配当前目录下所有一级子文件夹 rd /s /q命令的/s参数表示递归删除目标目录内的所有文件、子目录,/q参数指定静默删除,无需二次确认- 无需额外排除批处理文件自身:批处理属于文件类型,不会被遍历目录的
for /d语句匹配,不会被误删
注意:该脚本执行后会清空所在目录的所有内容且无法恢复,运行前请务必确认路径,提前备份重要数据
内容的提问来源于stack exchange,提问作者Error_404
相关产品推荐
相关产品推荐

