Sannyasin
@Sannyasin
3D, Digital Art

Как автоматизировать очистку папок TEMP?

Привет хабровчане!

Пытался автоматизировать очистку папок TEMP по инструкции с одного сайта.

5e941e9552137459261631.png
По этой статьей: https://remontcompa.ru/windows/windows-10/179-papk...
— пытался настроить очистку папок TEMP перед выходом из системы, командой в «Редакторе локальных групповых политик».
Но, при выходе из системы (перезагрузке или выключении), все элементы рабочего стола пропадают, отображаются лишь обои рабочего стола и курсор (которым можно двигать, он не зависает) – в этом положении комп может находиться долго и ничего не происходит, будто зависает.

Поэтому ищу иное решение, как можно было-бы автоматизировать очистку папок TEMP (думаю перед выходом из системы самый удобный момент для этого).

(У меня Windows 7)
  • Вопрос задан
  • 17289 просмотров
Решения вопроса 2
HemulGM
@HemulGM Куратор тега Windows
Delphi Developer, сис. админ
1. Она и так чистится сама.
2. Планировщик Windows позволяет создавать задачи, которые будут реагировать на конкретные события, например вход или выход (возможно) юзера. Создаем batch или cmd скрипт с очисткой директории. Создаем задачу в планировщике, выбираем событие и скрипт.
3. Очистка при виходе из системы - очень плохая идея, т.к. идёт завершение сеанса, а вы хотите плодить задачи. Задача может быть завершена принудительно, не выполнив свою задачу или замедлить завершение работы.
Ответ написан
Sannyasin
@Sannyasin Автор вопроса
3D, Digital Art
Для полуавтоматической (придётся самому запускать файл) очистки папки TEMP нашёл такой способ:
1. Открываем «Переменные среды»
5e94916a8bdee589276287.png

2. Меняем переменные TEMP и TMP на – C:/Windows/Temp
5e9491791ca60985501565.png

3. Открываем любой текстовый редактор и вставляем данный код:
pushd %TEMP% && rd /s /q . > nul 2>&1
pushd %WinDir%\TEMP && rd /s /q . > nul 2>&1
Сохраняем файл в корне диска С, под любым именем, но с расширением .cmd, например: Сценарий очистки TEMP.cmd

4. Запустить файл, чтобы исполнить сценарий очистки папки TEMP (папка очистится от временных файлов).


Для автоматической очистки папки TEMP при входе в систему, нашёл такой способ:

1. Открываем «Переменные среды»

5e94916a8bdee589276287.png

2. Меняем переменные TEMP и TMP на – C:/Windows/Temp
5e9491791ca60985501565.png— и нажимаем «ОК» в окне «Переменные среды».

3. Открываем любой текстовый редактор и вставляем данный код:
pushd %TEMP% && rd /s /q . > nul 2>&1
pushd %WinDir%\TEMP && rd /s /q . > nul 2>&1
Сохраняем файл в корне диска С, под любым именем, но с расширением .cmd, например: Сценарий очистки TEMP.cmd

4. Запускаем редактор групповых политик: Пуск Выполнить → вводим команду gpedit.msc

5. «Конфигурация компьютера» → «Конфигурация Windows» → «Сценарии» → «Автозагрузка» —
5e949871b3267040520305.png
— «Добавить» → «Обзор» → «Сценарий очистки TEMP.cmd» (ищите там, где вы его разместили) → «ОК» → «ОК»
5e949da7c9f63623514377.png

6. Проделайте подобные шаги и для конфигурации пользователя: «Конфигурация пользователя» → «Конфигурация Windows» → «Сценарии» → «Вход в систему»
5e94a20b3a035152446286.png

7. При входе в систему будет происходить очистка папки TEMP.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
Создаю одну папку C:\Temp, остальные
C:\ProgramData\Temp
C:\Users\tsk\AppData\Local\Temp
C:\Users\tsk\AppData\LocalLow\Temp
C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp
C:\Windows\Temp

это символьные ссылки.
Определяю:
SET TEMP=C:\Temp\
SET TMP=C:\Temp\

Обращаю внимание на слеш в конце — это защита от программистов, которые забывают добавить этот слеш при создании временных файлов в программах (Adobe Photoshop, например).
Чищу (задача "при входе в систему"):
echo ------ clear TEMP
del /S /Q %TEMP%\*.*
rmdir /S /Q %TEMP%
rmdir /q /s "H:\msdownld.tmp"
powershell -NoLogo -command "& Clear-RecycleBin -force" 2>NUL
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы