¿Cómo eliminar archivos temporales después de reiniciar en Windows?

38

Ubuntu elimina los archivos temporales de forma predeterminada después del reinicio, pero Windows no. ¿Cómo hacer que Windows haga lo mismo?

mystdeim
fuente
¿Archivos temporales de IE o archivos temporales de Windows? (% temp% carpeta)
Lorenzo Von Matterhorn
% TEMP% (c: \ users \ user \ appdata \ local \ temp)
mystdeim
44
Linux tiene dos carpetas temporales: / tmp se borra al reiniciar, / var / tmp no. En Windows, es más difícil decidir qué archivos se pueden eliminar de forma segura. He visto aplicaciones que incluso almacenaron su ejecutable en la carpeta temporal (un controlador, IIRC, y no, no era malware). Eliminar solo archivos temporales a los que no se haya accedido durante X días probablemente sería un mejor enfoque.
Dennis
1
¿Por qué uno lo haría en cada startup? Eso es una pérdida de tiempo. Planee hacer tal limpieza una vez a la semana o al mes.
Robert Niestroj
Puede tener problemas para eliminar archivos con la extensión "etiqls" ("sqlite" al revés) ya que generalmente se guardan en esa carpeta y están bloqueados. Son utilizados por antivirus y algún otro software, y están bien para saltearlos.
Rod Boev

Respuestas:

46

En lugar de pasar por el problema (y el peligro ) de hacer esto manualmente, recomendaría un programa como CCleaner que puede automatizar este proceso y deja solo los archivos que se crearon en las últimas 24 horas.

Esto es bastante importante, ya que algunos programas que también pueden ejecutarse en el inicio podrían estar usando archivos temporales, lo que podría causar problemas. En Linux, se sabe que el /tmpdirectorio se borra en cada reinicio y, por lo tanto, todos los programas de Linux están diseñados en torno a ese principio.

Aquí le mostramos cómo hacer que CCleaner comience con Windows: Opciones de CCleaner

Asegúrese de que solo estén marcados los "Archivos temporales" y otras cosas que realmente desea borrar en cada inicio : Selección CCleaner

CCleaner solo debería eliminar archivos de más de un día de forma predeterminada, pero no está de más comprobar esta configuración: Opciones avanzadas de CCleaner

Después de todo esto, CCleaner debe ejecutarse silenciosamente en el área de notificación en cada inicio. El icono desaparecerá cuando se complete la limpieza. Icono de la bandeja de CCleaner

oKtosiTe
fuente
CCleaner fue infectado una vez. Esa es una razón por la que siempre es mejor usar funciones integradas, que instalar aplicaciones de terceros para una tarea tan trivial.
davidbaumann
10

No creo que haya una opción para eso. Puede crear un .batarchivo para eliminar los archivos temporales y hacer que se ejecute al inicio (cuando se inicia Windows). Lo siguiente debería funcionar:

Elimine todos los archivos en% temp% pero deje las carpetas intactas:

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

Eliminar todo en% temp%:

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

Eliminar todos los .tmparchivos:

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

Tenga en cuenta que algunos programas usan archivos %temp%para ejecutarse, así que hágalo bajo su propio riesgo.

Para .batejecutar el inicio, siga este tutorial de Microsoft o uno de los muchos otros en línea ...

Alex
fuente
8

De hecho, es una pérdida de tiempo del procesador realizar dicha limpieza en cada arranque.

En su lugar, agregue una tarea programada, activada una vez por semana para ejecutar un lote ubicado en el mismo directorio de ccleaner , que contiene:

ccleaner /AUTO

Esto realizará un escaneo y una limpieza automática sin avisos a todas las casillas marcadas en ccleaner e INCLUIRÁ directorios especificados por el usuario. (no realiza correcciones de registro)

consejo adicional: en las propiedades de lote, incluso puede seleccionarlo para que se ejecute minimizado, por lo que le molesta menos en el inicio; el escaneo será bastante rápido y probablemente ni siquiera note la ventana minimizada.

Lorenzo von Matterhorn
fuente
1
¿Hay alguna evidencia de que este es un hecho real? oO
Smithers
1

Mi archivo por lotes para eliminar archivos temporales anteriores a un día

IF EXIST %TEMP% ( FORFILES /P %TEMP% /D -01 /C "cmd /c IF @isdir==TRUE (rd /s /q @path) else (del /q @path)" )
Arnaud Grandville
fuente
1
No ha habido DOS durante mucho tiempo
davidbaumann
0

cleanmgr

Puede usar la función integrada de Windows para limpiar todos los archivos temporales (y mucho más).

Solo una vez, corre

CLEANMGR /sageset

Ahora selecciona todo lo que quieras limpiar.

Ahora corriendo

CLEANMGR /sagerun

ejecutará exactamente todos los trabajos de limpieza seleccionados.

Ver más en la base de conocimiento de Microsoft .

davidbaumann
fuente