关机时自动执行磁盘清理

关机时自动执行磁盘清理

我一直在寻找磁盘清理当我的 Windows XP Pro SP2 机器关闭时运行。

这样做的主要原因是要Local Settings/Temp自动清除旧垃圾。(我以为我可以通过 Firefox 设置解决这个问题,但我只清除了临时 Internet 文件)。目前,临时文件大约有 3 GB,我想防止这些文件堆积,而不必记住自己做任何事情。

到目前为止,我尝试使用组策略编辑器中的用户注销脚本自动执行磁盘清理(按照这些说明使用cleanmgr /sageset:1cleanmgr /sagerun:1),但它似乎无法正确执行。

具体来说,我看到了如下日志条目

GPO 脚本的执行已超时并已终止。”

这表明脚本没有成功完成。此外,当我运行脚本包含的命令时,我离开了电脑一段时间。回来后,我发现电脑已经关闭,磁盘清理没有完成。

为什么磁盘清理似乎无法正确执行,或者有更好的方法吗?

经过一番折腾,似乎超时是由大量临时文件和要压缩的大量旧文件引起的。我无法可靠地复制运行命令时遇到的关机情况cleanmgr,但怀疑它也与超时有关。

但是,磁盘清理似乎并没有C:\Documents and Settings\Chris\Local Settings\Temp\像我预期的那样清理。虽然所有其他临时文件/文件夹似乎都已清理,但这个特定的文件夹似乎没有受到影响。

由于我怀疑磁盘清理程序根本就不是用来清理该文件夹的(虽然我不明白为什么不是这样),所以我问了一个更一般的问题如何自动删除临时文件Local Settings\Temp

答案1

组策略方法应该有效。您说您“当前”有 3 GB 的临时文件 - 如果是这样,请删除它们并重新测试。这可能会导致脚本超时。

您也可以尝试CCleaner(或类似)。CCleaner 比 cleanmgr 更全面,熟悉现代程序。

如果你无法让组策略工作,你可以使用类似执行器或者直接使用 CCleaner 内置的“启动时运行”选项即可达到相同效果。任务计划程序也可以使用。

或者,如果您不想让另一个进程在后台占用您的资源(并且您认为您可以记得使用它!),请按照以下步骤制作批处理脚本:

REM Run CCleaner silently
CCleaner.exe /AUTO
REM Shutdown after 600 seconds - tune to suit
shutdown -t 600

虽然不优雅,但是相当轻量。

答案2

尝试使用任务计划程序。可以找到有关在关机时添加任务的说明这里

相关内容