Войти

Показать полную графическую версию : CMD Удалить папку с определенным именем из всех каталогов рекурсивно


boot-a
12-10-2023, 19:13
Собственно вопрос. Есть множество программ браузеры, Slack которые хранят кеш в папках Code Cache и Cache. Задача найти все папки с таким именем во всех папках профилей пользователя и удалить. Для файлов нашел решение, но мне надо именно папки удалить. Может кто сталкивался?

Или, как вариант, как удалить папки по такому принципу:
%userprofile%\AppData\Roaming\dolphin_anty\browser_profiles\<9 произвольных цифр>\data_dir\Default\Cache

Как указать с cmd вот эти 9 произвольных цифр

NickM
12-10-2023, 21:30
Если не утруждаться оптимизацией, тогда, например, так:
@echo off
for /f %%a in ('dir "%userprofile%\AppData\Roaming\dolphin_anty\browser_profiles" /b /a:d') do echo."%userprofile%\AppData\Roaming\dolphin_anty\browser_profiles\%%a\data_dir\Default\Cache"

megaloman
13-10-2023, 07:18
@Echo Off
Call :MyRd "Cache"
Call :MyRd "Code Cache"
Exit /B 0

:MyRd
Set "FindDir=%userprofile%\AppData\Roaming\dolphin_anty\browser_profiles\%~1"
Set "Mask=\\[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\\data_dir\\Default\\%~1$"
For /F "usebackq delims=" %%d In (`2^>nul Dir /B /S /A:D "%FindDir%" ^|FindStr /I /R /C:"%Mask%"`) Do Rd /S /Q "%%d"
Exit /B




© OSzone.net 2001-2012