1

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

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

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

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

4

3 回答 3

6

最简单的方法:

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"

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

于 2013-01-23T23:01:11.977 回答
3
@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
于 2013-01-23T23:02:53.163 回答
0
cd "C:\Users\abrewer\Desktop\cache"
if %errorlevel% neq 0 exit /b %errorlevel%
rd /s /q .

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

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

于 2022-02-22T23:52:55.060 回答