意义

意义

当我在清理一些(非常)旧的文件时,我解压了一个.zip包含 1989 年旧文件的文件。我惊讶地发现一些文件显示黑色时钟图标覆盖,如下所示。

我打开命令提示符并用 进行检查attrib,但没有发现任何异常。我还检查了高级属性与他们对话,仍然没有发现任何异常。

到底发生了什么事?我该如何摆脱它?


图1:Windows 资源管理器显示带有黑色时钟覆盖的文件

Windows 资源管理器的屏幕截图,显示未知的黑色时钟图标覆盖

答案1

意义

[据微软的 Raymond Chen][1] 称,这是最令人困惑的图标叠加层之一(可能是因为它很罕见)。黑色时钟叠加层是 [NTFS 扩展属性][2]“脱机”,表示已将其备份到磁带。换句话说,如果不先安装正确的磁带,则当前无法访问该文件。

解释

“*但我没有磁带驱动器!*”我听到你反对。这并不奇怪;我也不奇怪。雷蒙德解释道:

黑色时钟尤其令人困惑,因为即使您的系统未配备分层存储管理,有时您也能看到它。出现这种情况时,是因为某些程序(通常是安装程序)没有正确检查错误代码。

就我而言,该文件是在 2010 年创建的,很可能是在 Windows 7 中创建的(它被标记为在 2010 年创建的)。它在 Windows XP 中解压到 Windows 7 创建的 NTFS 卷上。7-Zip 中的错误或文件本身的内容可能导致了不一致,从而导致了这种奇怪的行为。

观察结果

Windows XP 的 `attrib` 命令无法显示该属性,因为 XP 是在 2001 年发布的,并且仅限于基本的 `RASH` 属性(它不显示 Vista+ 中可以看到的其他几个属性)。但是,如果您在 Windows XP 资源管理器中启用 *Attributes* 列,则可以看到由 `O` 表示的属性。

该属性引起的好奇心与以下dir命令有关:

1989.01.19  09:53            11,800 AGUY0.CMP
1989.01.19  09:54          (10,912) AGUY1.CMP

如您所见,cmd通过将文件大小括在括号中来指示标记为脱机的任何文件。但它不会影响总字节数如底部所示。

你也可以使用 PowerShell 来查看:

>  dir * | select Name, Attributes | more

Name                                                                 Attributes
----                                                                 ----------
AGUY0.CMP                                            Archive, NotContentIndexed
AGUY1.CMP                               ...emporary, Offline, NotContentIndexed

另一种(混乱的)查看方式是使用以下fsutil命令:

> fsutil usn readdata AGUY0.CMP
File Attributes  : 0x2020

> fsutil usn readdata AGUY1.CMP
File Attributes  : 0x3120

您会注意到第二个文件的属性包括属性常量0x1000的位掩码FILE_ATTRIBUTE_OFFLINE

一个奇怪的(但可以理解)现象是,在 Vista+ 中,标记为脱机的文件也会自动标记为未编入索引(即属性I)。但是,使用attrib删除I属性才不是剥离它们的离线属性;它们不再具有非索引属性,但仍标记为离线。

图1:Windows 7 资源管理器中的脱机文件截图

Windows 7 中脱机文件的屏幕截图

解决方案

您可以使用较新版本的 Windows 中的 `attrib` 命令删除属性。如果这不可行,那么您也可以使用 shell 扩展,如 Febooti 的 [FileTweak][4] 或 [Attribute Changer][5]。您还可以使用 `attrib` 的替代品,甚至 `cmd` 本身,如 JPSoft 的 [Take Command][6]。PowerShell [也可以使用][7] 来 [访问和修改扩展属性][8],但它不如 `attrib` 或 shell 扩展那么好用。

答案2

这意味着该文件已被存档至磁带

相关内容