Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   CMD Удалить папку с определенным именем из всех каталогов рекурсивно (http://forum.oszone.net/showthread.php?t=354361)

boot-a 12-10-2023 19:13 3018064

CMD Удалить папку с определенным именем из всех каталогов рекурсивно
 
Собственно вопрос. Есть множество программ браузеры, Slack которые хранят кеш в папках Code Cache и Cache. Задача найти все папки с таким именем во всех папках профилей пользователя и удалить. Для файлов нашел решение, но мне надо именно папки удалить. Может кто сталкивался?

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

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

NickM 12-10-2023 21:30 3018076

Если не утруждаться оптимизацией, тогда, например, так:
Код:

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

Код:

@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



Время: 23:58.

Время: 23:58.
© OSzone.net 2001-