我正在尝试找到一种方法来C:\Documents and Settings\user\Local Settings\Temp\
在 Windows XP Professional x64 SP2 机器关机/启动时自动清理/删除临时文件。
这样做的主要原因是要Local Settings/Temp
自动清除旧垃圾。(我以为我可以通过 Firefox 设置解决这个问题,但我只清除了临时 Internet 文件)。目前,临时文件大约有 3 GB,我想防止这些文件堆积,而不必记住自己做任何事情。
我已经考虑过使用磁盘清理(在超级用户问题中解释关机时自动执行磁盘清理),但它似乎没有触及该目录。
我知道以下项目CCleaner,但我理想情况下希望使用不需要额外软件的解决方案(因此,我希望使用计划的 BAT/CMD 脚本正是我所寻找的)。
我认为,其中一个潜在的问题是Temp
文件夹中可能存在下次启动时可能需要的合法文件(例如,用于软件安装或更新),而完美的解决方案将能够区分这些文件并保留它们直到不再需要它们(注意:我意识到这种完美的解决方案可能不合理)。
我已经在关机脚本中设置了磁盘清理程序,但是在清理临时文件时,磁盘清理程序不会清理这个特定的目录,因此我正在寻找其他选项(请参阅超级用户问题关机时自动执行磁盘清理了解更多详细信息)。
那么,我可以通过哪些选项来自动删除临时文件呢C:\Documents and Settings\user\Local Settings\Temp
?
答案1
请看这里:
- http://technet.microsoft.com/en-us/library/cc783802(v=ws.10).aspx
- http://www.windows-help-central.com/windows-shutdown-script.html
简而言之(更多信息请参见上面的链接):
- 创建一个批处理文件,假设它保存为
c:\dev\on-shutdown.bat
- 打开组策略编辑器-开始/运行,
gpedit.msc
- 转至计算机配置/Windows 设置/脚本(启动/关机)
- 在详细信息窗格中双击关机
- 在关机属性中,单击添加并在其中键入上述脚本路径
Script Name
我在这个帖子:
希望有所帮助。
答案2
如果我误解了您的意图,请告诉我,但您似乎希望不留下任何登录会话的痕迹。在这种情况下,我建议通过众多虚拟服务器包之一运行虚拟机。出于历史原因,我个人使用 VMWare Server 2.0.2。我有几个虚拟机,如果我想要一个可擦除的会话,我只需拍摄“快照”,启动虚拟机并执行任何操作,然后关闭,然后“恢复到快照”。机器映像看起来就像我登录之前一样。
或者,您可以安装 CCleaner 并将其设置为按计划运行。这可能更符合您的问题。
答案3
我的解决方案是添加具有所需选项的任务计划程序任务并将此 VBscript 作为目标:
删除临时文件
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\Documents and Settings\user\Local Settings\Temp\")
for each f in folder.Files
On Error Resume Next
f.Delete True
On Error GoTo 0
Next
For Each f In folder.SubFolders
On Error Resume Next
f.Delete True
On Error GoTo 0
Next