清理编译器临时文件的实用程序






4.92/5 (41投票s)
2000年3月1日

410474

3639
一个 shell 扩展,用于删除编译器临时文件和中间文件。
最近在工作中,我和一位同事讨论我们希望拥有的一些实用小工具。他提到了一个 shell 扩展的想法,可以从一个目录中删除所有中间编译器文件(例如 *.obj
),并递归地处理子目录(当然)。听起来很不错,而且由于他正在编写另一个很酷的程序,我决定开始着手这个清理工具,看看我能做些什么。
我开发了这个小程序,DirClean。它是一个 shell 扩展,出现在目录的上下文菜单中,并有一个“清理临时文件”命令,可以从选定的目录及其子目录中删除中间编译器文件。默认情况下,文件会被放入回收站,但您可以配置 DirClean 直接删除文件。DirClean 使用 SHFileOperation
函数来删除文件,因此如果有很多文件要删除,您将看到熟悉的飞行纸张进度对话框。
DirClean 具有 ANSI 和 Unicode 版本。它使用 VC 6 SP 3 编写,并在 Win 98 和 Win 2000 上进行了测试。
“DirClean 选项”菜单项会弹出 DirClean 选项对话框
这里的设置应该不言而喻。我不对您输入的通配符进行任何检查,因此您可能不想输入 "*.*"
;)设置保存在 HKEY_CURRENT_USER
中,因此每个用户都有自己的设置。
请注意,您可以通过在单击“清理临时文件”时按住 Shift 键来覆盖“将文件发送到回收站”设置。按住 Shift 键会在您将选项设置为将文件发送到回收站时立即删除文件,反之亦然。
重要提示,适用于 VS.NET 用户
在基于 NT 的操作系统上,shell 处理超过 3 个字符的扩展名的方式会导致 C# 项目出现问题。shell 的默认行为使通配符 *.res
与 .RESX
文件匹配(它只比较前三个字符),删除 .RESX
文件会删除一些资源信息。
因此,为了避免删除这些文件,您可以从要删除的文件列表中删除 *.res
,或者转到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
,并将 DWORD 值 Win95TruncatedExtensions
设置为 0,然后重新启动计算机。有关此功能的更多信息,请参阅 KB 文章 Q164351。
历史
2001年10月28日 - 更新了默认的通配符列表。
2002年12月25日 - 添加了关于 Win95TruncatedExtensions
注册表项的说明。