当我清理一些(非常)旧文件时,我解压了一个.zip包含 1989 年旧文件的文件。我惊讶地发现一些文件显示黑色时钟图标覆盖,如下所示。
我打开了一个命令提示符并用 来检查它们attrib,但没有发现任何异常。我还检查了它们的高级属性对话框,但仍然没有发现任何异常。
这到底是怎么回事,我该如何摆脱它?
图 1:Windows 资源管理器显示带有黑色时钟覆盖的文件

根据微软的 Raymond Chen 的说法,它是更令人困惑的图标叠加之一(可能是因为它的稀有性)。黑色时钟覆盖是NTFS 扩展属性“离线”,表示它已备份到磁带。换句话说,如果不首先安装正确的磁带,当前无法访问该文件。
“但是我没有磁带驱动器!“我听说你反对。这并不奇怪;我也没有。雷蒙德解释说:
黑色时钟尤其令人费解,因为即使您的系统没有配备分层存储管理,您有时也会看到它。发生这种情况时,是因为某些程序(通常是安装程序)没有正确检查错误代码。
就我而言,该文件是在 2010 年创建的,可能是在 Windows 7 中创建的(它被标记为 2010 年制作)。它在 Windows XP 中被解压缩到由 Windows 7 创建的 NTFS 卷上。 7-Zip 中的错误或文件本身的内容可能会导致不一致,从而导致这种奇怪的行为。
Windows XP 的attrib命令无法显示该属性,因为 XP 是 2001 年发布的,并且仅限于基本RASH属性(它没有显示其他一些在 Vista+ 中可以看到的属性)。但是,如果您在 Windows XP 资源管理器中启用“属性”列,您可以看到由O.
该属性引起的好奇是使用dir命令:
1989.01.19 09:53 11,800 AGUY0.CMP
1989.01.19 09:54 (10,912) AGUY1.CMP
Run Code Online (Sandbox Code Playgroud)
如您所见,cmd通过将其大小括在括号中来指示标记为脱机的任何文件。但是,它不会影响底部指示的总字节数。
您也可以使用 PowerShell 来查看它:
> dir * | select Name, Attributes | more
Name Attributes
---- ----------
AGUY0.CMP Archive, NotContentIndexed
AGUY1.CMP ...emporary, Offline, NotContentIndexed
Run Code Online (Sandbox Code Playgroud)
另一种(凌乱)查看它的方法是使用以下fsutil命令:
> fsutil usn readdata AGUY0.CMP
…
File Attributes : 0x2020
…
> fsutil usn readdata AGUY1.CMP
…
File Attributes : 0x3120
…
Run Code Online (Sandbox Code Playgroud)
您会注意到第二个文件0x1000的FILE_ATTRIBUTE_OFFLINE属性包括属性常量的位掩码。
一个奇怪(虽然可以理解)的观察是在 Vista+ 中,标记为脱机的文件也会自动标记为未编入索引(即I属性)。但是,使用attrib删除I属性并不会剥离它们的离线属性;它们不再具有非索引属性,但仍标记为离线。
图 1:Windows 7 资源管理器中脱机文件的屏幕截图

您可以使用attrib来自较新版本的 Windows的命令去除该属性。如果这不可行,那么您还可以使用像 Febooti 的FileTweak或Attribute Changer这样的 shell 扩展 。您还可以使用JPSoft 的Take Command 之类的替代品,attrib甚至可以使用cmd它本身。PowerShell中也可用于对访问和修改扩展属性,但它并不像你一样或外壳扩展。attrib
| 归档时间: |
|
| 查看次数: |
3142 次 |
| 最近记录: |