批处理文件不会删除文件夹的内容

时间:2011-08-09 09:26:00

标签: batch-file

我正在尝试制作一个程序,只需单击一个文件即可删除计算机上的某些文件和执行程序。我正在测试它,因为我正在进行,并意识到它不是删除文件夹。我想删除文件夹中的所有内容,但不删除文件夹本身。到目前为止,这是我的代码:

@echo off
title SYSTEM Optimiation

echo Deleting Temp Folder
del /q /f "C:\Documents and Settings\%username%\Local Settings\TEMP"

echo.

echo DONE

echo.

echo Deleting Download folder
del /q /f "C:\Documents and Settings\%username%\My Documents\Downloads"
echo.
echo DONE
echo.
echo.
echo Hit any key to exit.
pause >nul

2 个答案:

答案 0 :(得分:3)

尝试使用通配符和/s上的del开关:

del /q /s /f "%userprofile%\My Documents\Downloads\*"

但这可能会使目录保持原样,但是空的。另一种选择是明确的:

for /d /r "%userprofile%\My Documents\Downloads" %%x in (*) do rd /s /q "%%x"
for /r "%userprofile%\My Documents\Downloads" %%x in (*) do del /f "%%x"

答案 1 :(得分:1)

这里比上面简单得多。当前目录将被锁定,因此不会被其他目录删除。

cd %Temp% && rmdir /s /q .