Подтвердить что ты не робот

Пакетный файл для удаления папок старше 10 дней в Windows 7

Я хочу создать пакетный файл, который должен удалить все подпапки папки, которая старше 10 дней, с использованием Windows 7

Любая помощь будет оценена.

4b9b3361

Ответ 1

Адаптирован из этого ответа на очень похожий вопрос:

FORFILES /S /D -10 /C "cmd /c IF @isdir == TRUE rd /S /Q @path"

Вы должны запустить эту команду из своей папки d:\study. Он удалит все подпапки, которые старше 10 дней.

/S /Q после rd позволяет удалить папки, даже если они не пусты, без подсказки.

Я предлагаю вам поместить вышеуказанную команду в .bat файл и сохранить его как d:\study\cleanup.bat.

Ответ 2

FORFILES/S/D -10/C "cmd/c IF @isdir == TRUE rd/S/Q @path"

Я не мог заставить предложение Blorgbeard работать, но мне удалось заставить его работать с RMDIR вместо RD:

FORFILES/p N:\test/S/D -10/C "cmd/c IF @isdir == TRUE RMDIR/S/Q @path"

Поскольку RMDIR не удаляет папки, которые не являются пустыми, я также закончил использование этого кода, чтобы удалить файлы, которые были более 10 дней, а затем папки, которым было более 10 дней.

FOR/d %% K in ( "n:\test *" ) DO (

FOR/d %% J в ( "%% K *" ) DO (

FORFILES/P %% J/S/M./D -10/C "cmd/c del @file"

)

)

FORFILES/p N:\test/S/D -10/C "cmd/c IF @isdir == TRUE RMDIR/S/Q @path"

Я использовал этот код, чтобы очистить подпапки в папках в тесте (пример n:\test\abc\123 будет очищен, когда пуст, но n:\test\abc не будет очищен

Ответ 3

Если вы хотите использовать его с параметром (т.е. удалить все поддиры в заданном каталоге), тогда поместите эти две строки в файл *.bat или *.cmd:

@echo off
for /f "delims=" %%d in ('dir %1 /s /b /ad ^| sort /r') do rd "%%d" 2>nul && echo rmdir %%d

и добавьте script -path к переменной среды PATH. В этом случае вы можете вызвать пакетный файл из любого места (я полагаю, что путь UNC тоже должен работать).

Например:.

YourBatchFileName c:\temp

(при необходимости вы можете использовать кавычки)

удалит все пустые поддиры в папке c:\temp

YourBatchFileName

удалит все пустые поддиры под текущим каталогом.