8

Я только что открыл справку для команды 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

(в частности, X, V, P, U)

И я могу установить +X помощью команды ATTRIB , даже если она не указана как изменяемая.

Я не знаю, что они делают или использовали, хотя. И мне не удалось отыскать ничего полезного, кроме списков, не намного более полезных, чем сама помощь. Даже собственная помощь Microsoft не помогает.Я пытался гуглить.В самом деле!

3 ответа3

4

Есть новые атрибуты, о которых я не знал.

Атрибут V целостности.

Это связано с проверкой файловых повреждений:

Integrity-streams - ReFS использует контрольные суммы для метаданных и, необязательно, для файловых данных, предоставляя ReFS возможность надежного обнаружения повреждений.

Обзор исходной устойчивой файловой системы (ReFS)

FILE_ATTRIBUTE_INTEGRITY_STREAM

Каталог или поток пользовательских данных настроен на целостность (поддерживается только на томах ReFS). Он не входит в обычный список каталогов. Настройка целостности сохраняется с файлом, если он переименован. Если файл копируется, для файла назначения будет установлена целостность, если для исходного файла или каталога назначения установлена целостность.

Константы атрибутов исходного файла


X Нет атрибута файла очистки.

Это связано с исправлением ошибок:

Упреждающее исправление ошибок - В дополнение к проверке данных перед чтением и записью, ReFS представляет сканер целостности данных, известный как скруббер. Этот скруббер периодически сканирует том, выявляет скрытые повреждения и активно запускает восстановление поврежденных данных.

Обзор исходной устойчивой файловой системы (ReFS)

FILE_ATTRIBUTE_NO_SCRUB_DATA

Поток пользовательских данных не должен читаться фоновым сканером целостности данных (AKA scrubber). При установке в каталог он обеспечивает только наследование. Этот флаг поддерживается только в томах Storage Spaces и ReFS. Он не входит в обычный список каталогов.

Константы атрибутов исходного файла


P Прикрепленный атрибут.

Это указывает на то, что файл является разреженным файлом:

Разреженный файл имеет атрибут, который заставляет подсистему ввода-вывода выделять только значимые (ненулевые) данные. Ненулевые данные размещаются на диске, а не значащие данные (большие строки данных, состоящие из нулей) - нет. При чтении разреженного файла выделенные данные возвращаются в том виде, в котором они были сохранены; нераспределенные данные возвращаются по умолчанию в виде нулей.

NTFS освобождает разреженные потоки данных и поддерживает другие данные только как распределенные. Когда программа обращается к разреженному файлу, файловая система выдает выделенные данные как фактические данные, а освобожденные данные - как нули.

NTFS включает полную поддержку разреженных файлов для сжатых и несжатых файлов. NTFS обрабатывает операции чтения разреженных файлов, возвращая выделенные данные и разреженные данные. Можно считывать разреженный файл как распределенные данные и диапазон данных без извлечения всего набора данных, хотя NTFS возвращает весь набор данных по умолчанию.

С установленным атрибутом разреженного файла файловая система может освобождать данные из любого места в файле и, когда приложение вызывает, получать нулевые данные по диапазону вместо хранения и возврата фактических данных. Интерфейсы прикладного программирования (API) файловой системы позволяют копировать или резервировать файл в виде фактических битов и диапазонов разреженных потоков. Конечным результатом является эффективное хранение и доступ к файловой системе. На следующем рисунке показано, как данные хранятся с заданным атрибутом разреженного файла и без него.

Исходные NTFS разреженные файлы

FILE_ATTRIBUTE_SPARSE_FILE

Файл, который является разреженным файлом.

Константы атрибутов исходного файла


Дальнейшее чтение

3

На самом деле в 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

Только последний документально описан по адресу 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 по требованию" (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, если вы хотите извлечь уроки из этих исследований.

2

Это правильно, чтобы иметь возможность установить NO SCRUB(X) с NTFS.
NTFS проверяет читаемость и восстанавливает при необходимости.
Поскольку контрольной суммы нет, NTFS не проверяет правильность данных.
Это имеет смысл только на избыточных дисковых пространствах.
Это один из источников информации.
(см. слайд № 30)

P не является редким атрибутом.
Потому что «Get-Item | Format-List Attributes» в Powershell будет печатать "Sparse" при разреженном атрибуте.
Но атрибут Pinned будет шестнадцатеричным значением, а не значащей строкой.
Извините, я не знаю, что это заколотое / не закрепленное.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .