| | YuS_2 
 
  
 Silver Member
 | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору AngelNet
 
 Цитата:
 | а мой запрос выше не поможете оформить? уж больно долго ответа нет, а он актуален. | 
 Ну, если бы сейчас это взялся делать, написал бы уже на powershell,  а так, могу предложить давно написанный и более универсальный вариант:
 
 Код:
 | @echo off rem Вариант очистки временных папок с выводом удаляемых, очищаемых и исключённых каталогов (но не файлов)
 echo Процесс очистки временных каталогов...
 echo Старт: %time%
 echo.
 
 rem Перечень каталогов для очистки (задаются папки с абсолютными путями):
 set "d1=%temp%"
 set "d2=%windir%\temp"
 set "d3="
 rem количество очищаемых каталогов:
 set n=2
 
 rem Перечень подкаталогов исключаемых из удаления в одном и только одном корневом каталоге
 rem (задаются только имена папок, без путей и слешей и корневой каталог с абсолютным путем):
 rem корневой каталог
 set "root=%temp%"
 rem подкаталоги
 set "e1=test"
 set "e2=123"
 set "e3="
 rem количество исключаемых подкаталогов:
 set k=2
 
 setlocal enabledelayedexpansion
 rem Составляем массивы обрабатываемых каталогов в строки:
 for %%t in (d e) do (
 set x=%%t
 if "!x!"=="d" (set /a z=n) else (set /a z=k)
 for /l %%g in (1,1,!z!) do (
 if defined %%t%%g (set var=%%g&call :per)
 )
 )
 rem Массивы каталогов для обработки (для вывода раскомментировать):
 ::echo очищаются - %arr_d%
 ::echo исключения - %arr_e%
 rem Предохранитель для проверки:
 ::pause&exit
 
 rem Цикл удаления файлов и подкаталогов:
 for %%v in (%arr_d%) do (
 pushd "%%~v"
 for /f "delims=" %%i in ('dir /b/ad') do set "fd=%%~dpnxi"&call :rem
 echo Удаляем только файлы, каталог: "%%~v"
 rem для боевого использования, в следующей строке удалить "echo":
 >nul 2>&1 echo del /f/q/a "%%~v"
 popd
 )
 rem 2>nul del /f/s/q/a "%programfiles%\Mozilla Firefox\*.tmp" &: строка с очисткой папки Лисы
 echo.
 echo Стоп: %time%
 pause&exit
 :per
 set "var=!%x%%var%!"
 set "ext=!arr_%x%!"
 if "%x%"=="d" if not exist "!var!\" exit /b
 set "arr_%x%=%ext% "%var%""
 exit /b
 :rem
 rem Проверка списка исключений:
 for %%m in (%arr_e%) do (
 if /i "%fd%" equ "%root%\%%~m" echo Исключается каталог: "%fd%"&exit /b
 )
 echo Удаляем каталог: "%fd%"
 rem для боевого использования, в следующей строке удалить "echo":
 >nul 2>&1 echo rd /s/q "%fd%"
 exit /b
 | 
 - тут есть комменты, так что подкорректировать под себя, с добавлением нужных каталогов в очистку, не очень сложно.
 И кстати, этот батник, вроде бы, где-то публиковал когда-то... здесь, на форуме.
 
 ЗЫ
 Строку с папкой лисы добавил, но закомментированную. Кому не требуется, можно просто удалить
 |  | Всего записей: 3253 | Зарегистр. 03-02-2009 | Отправлено:  05:52 03-04-2018  | Исправлено: YuS_2,   09:49 03-04-2018
 | 
 |