临时文件夹中的文件会被自动删除吗?

临时文件夹中的文件会被自动删除吗?

我们正在考虑让托管在 Windows Server 2003 计算机上的 Web 应用程序创建临时文件,并将其“保留”在那里。我们不会手动对它们采取任何行动。那么这些文件会被自动删除吗?或者我们必须配置某种策略 - 比如这些文件应该在 30 天左右后被删除...

更新:

生产服务器几乎不会关闭。那么如果必须删除文件该怎么办?

答案1

不,Windows 中没有默认启用任何功能来自动删除临时文件。关机时不会,重启时不会,永远都不会。

磁盘清理工具在运行时有一个执行该操作的选项。

处理此问题的正确方法是让您的 Web 应用程序以某种方式自行清理。例如,您可以让它在用户注销时删除孤立文件。或者在每次请求时随机进行一次“清理扫描”(机会很小)。或者必须安装和配置一个计划任务来执行清理。或者运行磁盘清理的计划任务。

不要只是将东西“留”在临时文件夹中,希望有东西出现并帮您清理混乱局面。

此外,当你清理文件时,只触碰你创建的文件,不要触碰其他文件。其他应用程序可能需要这些文件。如果跟踪自己的文件太麻烦,请创建一个可以随意清空的文件夹。

答案2

从 Windows 10 开始,答案似乎是“是”。Windows 10 包含一项名为存储感知这可能会删除临时文件夹中的旧文件。

是否执行此操作可在设置中进行配置。从我与客户打交道的经验来看,确实可以启用此功能而最终用户不一定知道这一点 - 可能是系统默认设置或管理员配置。

Storage Sense 的清理程序中可能包含许多不同的类别。以下是 Storage Sense 设置的屏幕截图:

在此处输入图片描述

临时文件类别似乎是计算机上一般使用的临时文件,相关部分内容如下:

临时文件

应用程序可以将临时信息存储在特定文件夹中。如果应用程序无法自动清理,则可以手动清理这些信息。

(此文本曾出现在 Windows 设置中,但截至 2021 年 11 月,它似乎不再显示。)

我见过这种情况发生在那些根据修改日期而被认为“旧”的文件上,但古老的。我手头没有具体的例子,但在我过去见过的案例中,文件都是几个月前的。

此功能确实会影响%TEMP%通常为 的%APPDATA%\Local\Temp文件C:\users\username\AppData\Local\Temp。我不确定它是否会影响其他位置,但我不会感到惊讶。

參考文獻:https://techcommunity.microsoft.com/t5/storage-at-microsoft/windows-10-and-storage-sense/ba-p/428270

答案3

因为您说的是高可用性服务器,所以计划任务是最好的方法。您可以做一些简单的操作,比如使用 vbscript 或批处理文件来查找特定日期的所有文件并清除它们。根据临时文件的累积速度调整计划的频率,以最大限度地减少每次运行时服务器的负载。

Thomas Maurer 有一个 powershell 脚本它允许相当高程度的灵活性,例如指定要删除的文件的年龄、要从中删除文件的文件夹等。

更新:Thomas Maurer 的网站无法加载,因此我在 Google 上搜索了“powershell删除超过30天的文件“而且结果看起来很有希望。

相关内容