新的 Windows 8/10 属性是什么意思:无清理文件 (X)、完整性 (V)、固定 (P)、未固定 (U)

Log*_*mon 11 ntfs file-attributes attributes windows-8 windows-10

我刚刚ATTRIB在 Windows 10.0.15063 上打开命令帮助,发现有我不知道的新属性。

>attrib /?
Displays or changes file attributes.

ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] [+O | -O] [+I | -I] [+P | -P] [+U | -U]
       [drive:][path][filename] [/S [/D]] [/L]

  +   Sets an attribute.
  -   Clears an attribute.
  R   Read-only file attribute.
  A   Archive file attribute.
  S   System file attribute.
  H   Hidden file attribute.
  O   Offline attribute.
  I   Not content indexed file attribute.
  X   No scrub file attribute.
  V   Integrity attribute.
  P   Pinned attribute.
  U   Unpinned attribute.
  [drive:][path][filename]
      Specifies a file or files for attrib to process.
  /S  Processes matching files in the current folder
      and all subfolders.
  /D  Processes folders as well.
  /L  Work on the attributes of the Symbolic Link versus
      the target of the Symbolic Link
Run Code Online (Sandbox Code Playgroud)

(特别是 X、V、P、U)

而且我可以+X通过ATTRIB命令进行设置,即使它没有被列为可修改的。

我不知道他们做什么或用来做什么。而且我没有设法在谷歌上搜索出任何有用的东西,除了那些比帮助本身有用的列表。即使是微软自己的帮助也无济于事我试过谷歌搜索。 真的!

Dav*_*ill 7

有一些我不知道的新属性。

V 完整性属性。

这与检查文件损坏有关:

完整性流 - ReFS 对元数据和可选的文件数据使用校验和,使 ReFS 能够可靠地检测损坏。

弹性文件系统 (ReFS​​) 概述

FILE_ATTRIBUTE_INTEGRITY_STREAM

目录或用户数据流配置为完整性(仅在 ReFS 卷上受支持)。它不包含在普通目录列表中。如果文件被重命名,完整性设置将保留在文件中。如果文件被复制,则如果源文件或目标目录具有完整性设置,则目标文件将具有完整性设置。

文件属性常量


X 没有清理文件属性。

这与纠错有关:

主动纠错 - 除了在读取和写入之前验证数据之外,ReFS 还引入了数据完整性扫描器,称为清理器。此清理器会定期扫描卷,识别潜在损坏并主动触发损坏数据的修复。

弹性文件系统 (ReFS​​) 概述

FILE_ATTRIBUTE_NO_SCRUB_DATA

后台数据完整性扫描器(AKA 清理器)不读取的用户数据流。当在目录上设置时,它只提供继承。此标志仅在存储空间和 ReFS 卷上受支持。它不包含在普通目录列表中。

文件属性常量


P 固定属性。

这表明该文件是一个稀疏文件

稀疏文件具有使 I/O 子系统仅分配有意义(非零)数据的属性。非零数据分配在磁盘上,而无意义的数据(由零组成的大串数据)则不是。读取稀疏文件时,分配的数据将按存储方式返回;默认情况下,未分配的数据作为零返回。

NTFS 解除分配稀疏数据流,只保留其他已分配的数据。当程序访问稀疏文件时,文件系统将分配的数据作为实际数据产生,将释放的数据作为零产生。

NTFS 包括对压缩和未压缩文件的完全稀疏文件支持。NTFS 通过返回分配的数据和稀疏数据来处理对稀疏文件的读取操作。尽管 NTFS 默认返回整个数据集,但可以在不检索整个数据集的情况下将稀疏文件读取为已分配的数据和数据范围。

设置稀疏文件属性后,文件系统可以从文件中的任何位置取消分配数据,并且在应用程序调用时,按范围生成零数据,而不是存储和返回实际数据。文件系统应用程序编程接口 (API) 允许将文件作为实际位和稀疏流范围进行复制或备份。最终结果是高效的文件系统存储和访问。下图显示了在设置和不设置稀疏文件属性的情况下如何存储数据。

NTFS 稀疏文件

FILE_ATTRIBUTE_SPARSE_FILE

稀疏文件的文件。

文件属性常量


进一步阅读

  • 请注意,在最新的 SDK 标头中有 `FILE_ATTRIBUTE_PINNED`。这是指 OneDrive 文件的“在此设备上始终可用”设置。 (5认同)
  • 嗯,你是如何将“固定”链接到稀疏的?另外,如何通过 ATTRIB 命令设置或删除“稀疏”属性?还有一个:有 «Unpinned» 属性,它与“Pinned”是互斥的,但是 Pinned 和 Unpinned 可以同时取消设置(所以没有解释它是什么?)。 (2认同)

小智 6

实际上在 中发现了更多新属性C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\um\winnt.h

FILE_ATTRIBUTE_UNPINNED              = 0x00100000
FILE_ATTRIBUTE_PINNED                = 0x00080000
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS = 0x00400000
Run Code Online (Sandbox Code Playgroud)

https://msdn.microsoft.com/en-us/library/windows/desktop/gg258117%28v=vs.85%29.aspx仅记录了最后一个

基于https://techcommunity.microsoft.com/t5/OneDrive-for-Business/Files-on-demand-difference-in-locally-available-and-always/mp/118203#M2781我的猜测是“固定" 标志用于防止文件在磁盘空间不足时从本地存储中清除。“未固定”属性 OTOH 似乎用于指示您要强制文件不在本地存储。

我目前正在研究新的“OneDrive Files On Demand”功能如何使用这些属性(https://support.office.com/en-us/article/Learn-about-OneDrive-Files-On-Demand-0E6860D3 -D9F3-4971-B321-7092438FB38E)。

请参阅https://social.technet.microsoft.com/Forums/windows/en-US/375f3933-fcab-450c-bb9c-da54155549e2/how-do-i-getset-onedrive-files-on-demand-status-from -powershell?forum=ITCG如果您想从这些调查中学习。