Jak usunąć pliki tymczasowe po ponownym uruchomieniu w systemie Windows?

38

Ubuntu domyślnie usuwa pliki tymczasowe po ponownym uruchomieniu, ale system Windows nie. Jak sprawić, by system Windows zrobił to samo?

mystdeim
źródło
Pliki tymczasowe IE lub pliki tymczasowe systemu Windows? (folder% temp%)
Lorenzo Von Matterhorn
% TEMP% (c: \ users \ user \ appdata \ local \ temp)
mystdeim
4
Linux ma dwa foldery tymczasowe: / tmp zostaje wyczyszczony przy ponownym uruchomieniu, / var / tmp nie. W systemie Windows trudniej jest zdecydować, które pliki można bezpiecznie usunąć. Widziałem aplikacje, które nawet zapisywały swój plik wykonywalny w folderze tymczasowym (sterownik, IIRC i nie, to nie było złośliwe oprogramowanie). Lepszym rozwiązaniem byłoby usunięcie tylko plików tymczasowych, do których nie uzyskiwano dostępu przez X dni.
Dennis
1
Dlaczego miałoby to robić przy każdym uruchomieniu? To strata czasu. Zaplanuj takie czyszczenie raz w tygodniu lub miesiącu.
Robert Niestroj
Możesz mieć problemy z usunięciem plików z rozszerzeniem „etiqls” („sqlite” do tyłu), ponieważ zwykle są one przechowywane w tym folderze i są zablokowane. Są używane przez oprogramowanie antywirusowe i niektóre inne oprogramowanie i można je pominąć.
Rod Boev

Odpowiedzi:

46

Zamiast kłopotać się (i niebezpieczeństwem ) zrobienia tego ręcznie, poleciłbym program taki jak CCleaner, który może zautomatyzować ten proces i pozostawia same pliki utworzone w ciągu ostatnich 24 godzin.

Jest to dość ważne, ponieważ niektóre programy, które mogą również działać podczas uruchamiania, mogą już korzystać z plików tymczasowych, co może powodować problemy. W systemie Linux /tmpkatalog jest usuwany przy każdym ponownym uruchomieniu, dlatego wszystkie programy systemu Linux są zaprojektowane zgodnie z tą zasadą.

Oto jak uruchomić CCleaner w systemie Windows: C Opcje czyszczenia

Upewnij się, że zaznaczone są tylko „Pliki tymczasowe” i inne rzeczy, które naprawdę chcesz wyczyścić przy każdym uruchomieniu : C Wybór czyszczenia

CCleaner powinien domyślnie usuwać pliki starsze niż jeden dzień, ale sprawdzenie tego ustawienia nie zaszkodzi: Zaawansowane opcje CCleaner

Po tym wszystkim CCleaner powinien cicho działać w obszarze powiadomień przy każdym uruchomieniu. Ikona zniknie po zakończeniu czyszczenia. C Ikona zasobnika do czyszczenia

oktosiTe
źródło
CCleaner został raz zainfekowany. To jeden z powodów, dla których zawsze lepiej jest korzystać z wbudowanych funkcji, niż instalować aplikacje innych firm do tak trywialnego zadania.
davidbaumann
10

Nie sądzę, że jest na to opcja. Możesz utworzyć .batplik, aby usunąć pliki tymczasowe i uruchomić go podczas uruchamiania (podczas uruchamiania systemu Windows). Następujące powinny działać:

Usuń wszystkie pliki w% temp%, ale pozostaw foldery nietknięte:

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

Usuń wszystko z% temp%:

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

Usuń wszystkie .tmppliki:

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

Pamiętaj, że niektóre programy używają plików %temp%do uruchamiania, więc rób to na własne ryzyko.

Aby .baturuchomić przy starcie, wykonaj ten samouczek od Microsoft lub jednego z wielu innych online ...

Alex
źródło
8

W rzeczywistości marnowanie czasu procesora na takie czyszczenie przy każdym uruchomieniu.

Zamiast tego dodaj zaplanowane zadanie uruchamiane raz w tygodniu w celu wykonania partii znajdującej się w tym samym katalogu ccleaner , zawierającej:

ccleaner /AUTO

Spowoduje to wykonanie skanowania i automatycznego czyszczenia bez monitowania do wszystkich pól zaznaczonych na ccleaner i BĘDĄ obejmowały katalogi określone przez użytkownika. (nie wykonuje poprawek rejestru)

dodatkowa wskazówka: we właściwościach partii możesz nawet wybrać opcję uruchamiania w trybie zminimalizowanym, aby mniej przeszkadzało Ci przy starcie; skanowanie będzie raczej szybkie i prawdopodobnie nawet nie zauważysz zminimalizowanego okna.

Lorenzo Von Matterhorn
źródło
1
Czy istnieją dowody na to, że jest to kwestia faktyczna? oO
Smithers
1

Mój plik wsadowy do usuwania plików tymczasowych starszych niż jeden dzień

IF EXIST %TEMP% ( FORFILES /P %TEMP% /D -01 /C "cmd /c IF @isdir==TRUE (rd /s /q @path) else (del /q @path)" )
Arnaud Grandville
źródło
1
Dawno nie było DOS
davidbaumann
0

cleanmgr

Możesz użyć wbudowanej funkcji Windows, aby wyczyścić wszystkie pliki tymczasowe (i wiele więcej).

Tylko raz, uciekaj

CLEANMGR /sageset

Teraz wybierz wszystko, co chcesz wyczyścić.

Teraz uruchamiając

CLEANMGR /sagerun

dokładnie wykona wszystkie wybrane zadania czyszczenia.

Zobacz więcej w bazie wiedzy Microsoft Knowledge Base .

davidbaumann
źródło