Пакетный файл не удалит содержимое папки - PullRequest
1 голос
/ 09 августа 2011

Я пытаюсь создать программу, которая будет удалять некоторые файлы и выполнять техническое обслуживание на компьютере, просто щелкнув один файл.Я тестирую его, когда иду вперед, и понял, что это не удаление папок.Я хочу удалить все внутри папок, но не сами папки.Вот мой код:

@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 ]

3 голосов
/ 09 августа 2011

Попробуйте использовать подстановочные знаки и включите /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 голос
/ 11 января 2013

Здесь гораздо проще, чем выше.Текущий каталог будет заблокирован и, следовательно, не будет удален с другими.

cd %Temp% && rmdir /s /q .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...