繁体   English   中英

删除所有子目录和子文件而不删除父/根目录?

[英]Remove All Sub-Directories and Sub-Files Without Removing Parent/Root Directory?

通过 Windows 批处理,删除文件夹的所有子目录和子文件而不删除/删除所述父/根文件夹的命令是什么?

到目前为止,这是我尝试过的:

ECHO "Good riddance, cache! Muahahahahahaha"
cd "C:\Users\abrewer\Desktop\cache"
del * /q

以上仅删除文件,但不删除子文件夹。 我也试过 RMDIR 和 RD,这两个命令似乎删除了父/根目录。

最简单的方法是:

cd "C:\Users\abrewer\Desktop\cache"
rd /s /q .

尝试删除父目录失败时,它会输出一条错误消息,但否则可以正常工作。

或者,类似:

cd "C:\Users\abrewer\Desktop\cache"
del * /q
for /D %%i in (*) do rd /s /q "%%i"

可能有用。 请记住,如果从命令行而不是在批处理文件中运行,请仅使用单个百分号。

@echo off
ECHO "Good riddance, cache! Muahahahahahaha"
pushd "C:\Users\abrewer\Desktop\cache"
del * /q
for /d %%F in (*) do rd /s /q "%%F"
popd
cd "C:\Users\abrewer\Desktop\cache"
if %errorlevel% neq 0 exit /b %errorlevel%
rd /s /q .

最佳答案的第一部分很棒,但也很危险。 请确保您的代码中有一些错误检查,就好像该目录由于某种原因不存在您将要删除工作路径中的内容一样。

我太新了,无法添加评论,编辑队列已满,无法提出建议修改的答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM