在Windows重启后如何删除临时文件?


38

Ubuntu在默认情况下会在重启后删除临时文件,但Windows不会。如何使Windows做同样的事情?


IE临时文件还是Windows临时文件?(%temp%文件夹)
洛伦佐·冯·马特洪峰

%TEMP%(c:\ users \ user \ appdata \ local \ temp)
mystdeim 2013年

4
Linux有两个临时文件夹:/ tmp在重新启动时被擦除,/ var / tmp没有。在Windows中,很难决定可以安全删除哪些文件。我见过一些应用程序,甚至将其可执行文件存储在临时文件夹中(驱动程序,IIRC,不是,这不是恶意软件)。仅删除X天未访问的临时文件可能是一个更好的方法。
丹尼斯

1
为什么每次启动都会这样做?那是浪费时间。计划每周或每月进行一次此类清理。
罗伯特·尼斯特罗伊

您可能会遇到删除扩展名为“ etiqls”(向后“ sqlite”)的文件的麻烦,因为它们通常保存在该文件夹中并被锁定。它们可用于防病毒和某些其他软件,可以跳过。
Rod Boev

Answers:


46

我推荐使用CCleaner这样的程序,它可以自动执行此过程,而仅保留在过去24小时内创建的文件,而不是手动进行此操作(麻烦又危险)。

这非常重要,因为某些可能在启动时也运行的程序可能已经在使用临时文件,从而可能导致问题。在Linux上,已知每次重新启动都会清除该/tmp目录,因此所有Linux程序都是根据该原理设计的。

这是使CCleaner从Windows开始的方法: CCleaner选项

确保选中“临时文件”以及您每次启动时真正要清除的其他内容CCleaner选择

默认情况下,CCleaner应该只删除超过一天的文件,但是检查此设置不会有什么坏处: CCleaner高级选项

完成所有这些操作后,每次启动时,CCleaner应该在通知区域中安静地运行。清洁完成后,该图标将消失。 CCleaner托盘图标


CCleaner被感染一次。这就是使用内置功能总比安装第三方应用程序完成这项琐碎任务更好的原因之一。
davidbaumann

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在启动时运行遵循这个来自微软教程或一个其他许多人的网上...


8

实际上,每次启动都进行这样的清理会浪费处理器时间。

而是添加一个计划任务,该任务每周触发一次以执行位于ccleaner相同目录中的批处理,其中包括:

ccleaner /AUTO

这将执行扫描和自动清除,而不会提示ccleaner上所有复选框的任何提示,并且将包括用户指定的目录。(不执行注册表修复)

额外提示:在批处理属性上,您甚至可以选择使其最小化运行,因此在启动时会减少您的麻烦;扫描将相当快,您甚至可能不会注意到最小化的窗口。


1
有证据表明这是事实吗?oO
Smithers,

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

清洁剂

您可以使用内置的Windows函数来清理所有临时文件(以及更多)。

只跑一次

CLEANMGR /sageset

现在,选择要清除的任何内容。

现在运行

CLEANMGR /sagerun

它将完全运行所选的所有清理作业。

请参阅Microsoft知识库中的更多内容

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.