Как удалить временные файлы после перезагрузки в Windows?

38

Ubuntu удаляет временные файлы по умолчанию после перезагрузки, но Windows этого не делает. Как заставить Windows сделать то же самое?

mystdeim
источник
IE временные файлы или временные файлы Windows? (папка% temp%)
Лоренцо фон Маттерхорн
% TEMP% (c: \ users \ user \ appdata \ local \ temp)
mystdeim
4
В Linux есть две временные папки: / tmp стирается при перезагрузке, / var / tmp нет. В Windows сложнее решить, какие файлы можно безопасно удалить. Я видел приложения, которые даже хранили свой исполняемый файл во временной папке (драйвер, IIRC, и нет, это не вредоносное ПО). Удаление только временных файлов, к которым не обращались в течение X дней, возможно, будет лучшим подходом.
Деннис
1
Зачем делать это при каждом запуске? Это пустая трата времени. Планируйте делать такую ​​уборку один раз в неделю или месяц.
Роберт Нестрой
Вы можете столкнуться с проблемами при удалении файлов с расширением «etiqls» («sqlite» в обратном направлении), поскольку они обычно хранятся в этой папке и заблокированы. Они используются антивирусами и некоторым другим программным обеспечением, и их можно пропустить.
Род Боев

Ответы:

46

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

Это очень важно, поскольку некоторые программы, которые могут также запускаться при запуске, уже могут использовать временные файлы, что может вызвать проблемы. В Linux /tmpкаталог, как известно, очищается при каждой перезагрузке, и поэтому все программы Linux разработаны на основе этого принципа.

Вот как заставить CCleaner запускаться с Windows: Варианты CCleaner

Убедитесь, что проверены только «Временные файлы» и другие вещи, которые вы действительно хотите очистить при каждом запуске : Выбор CCleaner

По умолчанию CCleaner должен удалять файлы старше одного дня, но не помешает проверить этот параметр: Расширенные опции CCleaner

После всего этого CCleaner должен тихо работать в области уведомлений при каждом запуске. Значок исчезнет после завершения очистки. Значок CCleaner в трее

oKtosiTe
источник
CCleaner был заражен один раз. Это одна из причин, по которой всегда лучше использовать встроенные функции, чем устанавливать сторонние приложения для такой тривиальной задачи.
Давидбауман
10

Я не думаю, что есть вариант для этого. Вы можете создать .batфайл, чтобы удалить временные файлы и запустить его при запуске (при запуске Windows). Следующее должно работать:

Удалите все файлы в% temp%, но оставьте папки нетронутыми:

@echo off
del /s /f /q "%temp%/*.*"

Удалить все на% temp%:

@echo off
rmdir /s /q %temp%
md %temp%

Удалить все .tmpфайлы:

@echo off
del /s /f /q "%temp%/*.tmp"

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

Чтобы .batзапустить при запуске, следуйте этому руководству от Microsoft или одного из многих других онлайн ...

Alex
источник
8

На самом деле, такая очистка - пустая трата процессорного времени при каждом запуске.

Вместо этого добавьте запланированное задание, запускаемое раз в неделю для выполнения пакета, расположенного в том же каталоге ccleaner , содержащего:

ccleaner /AUTO

Это выполнит сканирование и автоматическую очистку без каких-либо запросов на все поля, отмеченные галочкой на ccleaner, и БУДЕТ включать указанные пользователем каталоги. (не выполняет исправления реестра)

дополнительный совет: в пакетных свойствах вы можете даже выбрать его для запуска в свернутом виде, чтобы он меньше беспокоил вас при запуске; сканирование будет довольно быстрым, и, вероятно, вы даже не заметите свернутое окно.

Лоренцо фон Маттерхорн
источник
1
Есть ли доказательства того, что это фактический вопрос? oO
Смитерс
1

Мой пакетный файл для удаления временных файлов старше суток

IF EXIST %TEMP% ( FORFILES /P %TEMP% /D -01 /C "cmd /c IF @isdir==TRUE (rd /s /q @path) else (del /q @path)" )
Арно Грандвиль
источник
1
Давно не было DOS
davidbaumann
0

cleanmgr

Вы можете использовать встроенную функцию Windows, чтобы очистить все временные файлы (и многое другое).

Только один раз, беги

CLEANMGR /sageset

Теперь выберите все, что вы хотите убрать.

Теперь, запустив

CLEANMGR /sagerun

он точно запустит все задания по очистке, как выбрано.

Смотрите больше в базе знаний Microsoft .

davidbaumann
источник