Как получить атрибуты файла c

Обновлено: 06.07.2024

Атрибуты файлов – это специальные системные метаданные, которые описывают свойства конкретного файла или целой папки. Часто под атрибутами подразумевают также некоторые дополнительные параметры, вроде, даты создания файла, или специализированную метаинформацию о конкретных типах данных (например, EXIF для изображений или ID3-теги для музыки). [Источник 1]

Содержание

Описание

Атрибут файла — это некая метка (или флаг), которая сообщает операционной системе о существовании особых правил для работы с конкретным файлом.

Место хранения атрибутов файлов

Место хранения атрибутов в частном случае зависит от реализации конкретной файловой системы. В качестве примера можно привести файловую систему Ext4 в силу ее популярности в ОС Linux. Как и во многих других файловых системах семейства UNIX\*Nix в Ext4 есть понятие inode (айнод). Изначальное название — index node — индексная точка/вершина. Inode — это специальная структура данных в файловой системе, которая хранит определенную информацию об объектах файловой системы — стандартных файлах, каталогах и т.д. Айноды хранятся в таблице айнодов, для которой файловая система выделяет необходимое количество блоков. Под определенной информацией подразумеваются отметки времени доступа, флаги, расширенные атрибуты, карты блоков данных и др. В официальной документации по ext4 те атрибуты, о которых идет речь в этой заметке, называются флагами (flags). Не стоит путать с расширенными атрибутами (extended attributes) — это несколько иная сущность.

Виды функций атрибутов (флагов)

Если обратится к man chattr то можно увидеть почти полный список атрибутов (флагов):

  • A — не обновлять время доступа к объекту. Теоретически установка этого атрибута должна повысить производительность файловой системы при работе с файлом (если не используются опции монтирования noatime, nodiaratime )
  • а — указывает, что в файл можно добавлять информацию, но нельзя удалять. Может быть установлен только суперпользователем.
  • d — указывает на то, что не нужно делать резервные копии файла. Файл будет проигнорирован командой dump.
  • i — указывает на то, что файл нельзя удалять и модифицировать, так же нельзя создать ссылку на файл. Может быть установлен только суперпользователем.
  • s — указывает, что при удалении файла место где был размещен файл будет перезаписано нулями. Для невозможности восстановления после удаления.
  • u — указывает на то, что при удалении файла его нужно куда-то сохранить. Наоборот, чтоб гарантировать возможность восстановления после удаления.
  • c — указывает на то, что файл сжат. Перед записью в этот файл ядро сжимает данные, а чтение соответственно возвращает разархивированные данные.

Сжатие данных

Атрибут «c» существует для того,чтобы указывать пользователю,что файл сжат. Теоретически кроме экономии дискового пространства выгодой от использования этого флага может быть и ускорение дисковых операций (зависит от алгоритма сжатия). Данный атрибут, к сожалению, не работает в ext4, так как данная ФС не поддерживает механизм сжатия. Но зато работает в новой файловой системе BTRFS, где на данный момент реализованы целых два алгоритма сжатия — LZO, и ZLIB. Как раз с алгоритмом LZO разработчикам удалось добиться увеличения производительности дисковых операций за счет того, что файлы стали занимать меньше места, соответственно времени на их запись и считывание нужно меньше, а операции сжатия и распаковки занимают совсем немного процессорного времени. К сожалению, от выборочного использования этого флага эффекта будет немного — так же как и с атрибутом «A» — для достижения максимального эффекта лучше будет использовать опцию монтирования, чтоб поведение опции было глобальным для всех файлов. [Источник 2]

Виды атрибутов для Windows

В Windows существует несколько атрибутов файлов, в том числе:

  • Атрибут архивного файла.
  • Атрибут каталога.
  • Скрытый атрибут файла.
  • Атрибут файла только для чтения.
  • Атрибут системного файла.
  • Атрибут метки тома

Для Windows с NTFS

  • Атрибут сжатого файла.
  • Шифрованный атрибут файла.
  • Индексированный атрибут файла.

Редкие атрибуты

Вот несколько дополнительных, хотя и более редких, атрибутов файлов, распознаваемых Windows:

  • Атрибут файла устройства.
  • Атрибут файла целостности.
  • Не индексированный атрибут файла содержимого.
  • Нет атрибута файла scrub.
  • Автономный атрибут файла.
  • Атрибут разреженного файла.
  • Атрибут временного файла.
  • Атрибут виртуального файла.

Атрибуты для Linux

В Linux каждый файл имеет свойство, характеризующее владельца файла. Управление доступом к файлам осуществляется с помощью атрибутов – специальных характеристик, имеющихся у каждого файла. Всего существует 12 характеристик. Девять из них можно разделить на три класса:

  • Разрешение/запрет на чтение файла владельцем, группой владельца и всеми остальными пользователями.
  • Разрешение/запрет на запись файла владельцем, его группой и всеми остальными.
  • Разрешение/запрет на запуск файла владельцем, группой владельца и остальными пользователями.

Размещение атрибутов

Пользователь может получать доступ к атрибутам, используя средства, предоставленные для этих целей файловой системой. Обычно разрешается читать значения любых атрибутов, а изменять — только некоторые. Например, пользователь может изменить права доступа к файлу (при условии, что он обладает необходимыми для этого полномочиями), но изменять дату создания или текущий размер файла ему не разрешается. Значения атрибутов файлов могут непосредственно содержаться в каталогах, как это сделано в файловой системе MS DOS (см. рисунок 1). На рисунке представлена структура записи в каталоге, содержащая простое символьное имя и атрибуты файла. Здесь буквами обозначены признаки файла: R — только для чтения, А — архивный, Н — скрытый, S — системный.


Способ размещения атрибутов UNIX

Другим вариантом является размещение атрибутов в специальных таблицах, когда в каталогах содержатся только ссылки на эти таблицы. Такой подход реализован, например, в файловой системе ufs ОС UNIX. В этой файловой системе структура каталога очень простая. Запись о каждом файле содержит короткое символьное имя файла и указатель на индексный дескриптор файла, так называется в ufs таблица, в которой сосредоточены значения атрибутов файла.В том и другом вариантах каталоги обеспечивают связь между именами файлов и собственно файлами. Однако подход, когда имя файла отделено от его атрибутов, делает систему более гибкой. Например, файл может быть легко включен сразу в несколько каталогов. Записи об этом файле в разных каталогах могут содержать разные простые имена, но в поле ссылки будет указан один и тот же номер индексного дескриптора. [Источник 3]

Использование атрибутов файлов

Атрибуты файлов существуют так, что вы или программа, которую вы используете, или даже сама операционная система, могут быть предоставлены или лишены определенных прав на файл или папку. Изучение общих атрибутов файлов может помочь вам понять, почему определенные файлы и папки называются «скрытыми» или «только для чтения», например, и почему взаимодействие с ними настолько отличается от взаимодействия с другими данными. Применение атрибута файла только для чтения к файлу будет препятствовать его редактированию или изменению каким-либо образом, если атрибут не будет отменен, чтобы разрешить доступ на запись. Атрибут «только для чтения» часто используется с системными файлами, которые нельзя изменять, но вы можете сделать то же самое с вашими собственными файлами, которые вам бы хотелось, если бы кто-то с доступом не редактировал.Файлы со скрытым набором атрибутов фактически будут скрыты от обычных представлений, что делает эти файлы очень трудными для случайного удаления, перемещения или изменения. Файл по-прежнему существует, как и любой другой файл, но поскольку атрибут скрытого файла переключается, он не позволяет случайному пользователю взаимодействовать с ним.

Атрибуты файлов и атрибуты папок

Атрибуты можно включать и выключать как для файлов, так и для папок, но последствия этого немного отличаются друг от друга. Когда атрибут файла, такой как скрытый атрибут, переключается на файл , этот единственный файл будет скрыт - ничего другого. Если тот же скрытый атрибут применяется к папке , вам предоставляется больше опций, чем просто скрыть папку: у вас есть возможность применить скрытый атрибут к папке в отдельности или к папке, ее подпапкам и всем ее файлам. Применение атрибута скрытого файла к подпапкам папки и ее файлам означает, что даже после того, как вы откроете папку, все файлы и папки, которые содержатся в ней, также будут скрыты. Первый вариант просто скрыть только папку позволит сделать вложенные папки и файлы видимыми, но просто скрыть основную корневую область папки.

Применение атрибутов файлов

Хотя все доступные атрибуты для файла имеют общие имена, которые вы видели в списках выше, они не все применяются к файлу или папке таким же образом.Небольшой выбор атрибутов можно включить вручную. В Windows вы можете сделать это, щелкнув правой кнопкой мыши или нажав и удерживая файл или папку, а затем включив или отключив атрибут из предоставленного списка.

В Windows больший выбор атрибутов также можно установить с помощью команды , доступной с панели управления . Управление атрибутом с помощью команды позволяет сторонним программам, таким как программное обеспечение резервного копирования , легко редактировать атрибуты файлов.Операционные системы Linux могут использовать команду chattr (Change Attribute) для установки атрибутов файлов, а chflags (Change Flags) используется в Mac OS X. [Источник 4]

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

Предоставляет атрибуты для файлов и каталогов.

Это перечисление имеет атрибут FlagsAttribute, который разрешает побитовое сочетание значений его элементов.

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

Зарезервировано для будущего использования.

Файл является каталогом. Directory поддерживается в Windows, Linux и macOS.

Файл или каталог зашифрован. Для файла это означает, что все данные в файле зашифрованы. Для каталога это означает, что шифрование производится по умолчанию для вновь создаваемых файлов и каталогов.

Файл скрытый и, таким образом, не включается в обычный список каталога. Hidden поддерживается в Windows, Linux и macOS.

Файл или каталог включает поддержку целостности данных. Когда это значение применяется к файлу, все потоки данных в этом файле имеют поддержку целостности. Когда это значение применяется к каталогу, все новые файлы и подкаталоги этого каталога по умолчанию включают поддержку целостности.

Файл является стандартным файлом без специальных атрибутов. Этот атрибут действителен, только если он используется отдельно. Normal поддерживается в Windows, Linux и macOS.

Файл или каталог исключен из проверки целостности данных. Когда это значение применяется к каталогу, по умолчанию для всех новых файлов и подкаталогов этого каталога поддержка целостности исключается.

Файл не будет индексироваться службой индексирования содержимого операционной системы.

Файл находится в автономном режиме. Данные этого файла недоступны непосредственно.

Файл доступен только для чтения. ReadOnly поддерживается в Windows, Linux и macOS. В Linux и macOS изменение флага ReadOnly — это операция с разрешениями.

Файл содержит точку повторной обработки, блокирующую определяемые пользователем данные, связанные с файлом или каталогом. ReparsePoint поддерживается в Windows, Linux и macOS.

Файл является разреженным. Разреженными файлами обычно являются большие файлы, в которых содержатся в основном нулевые данные.

Файл является системным. То есть файл является частью операционной системы или используется исключительно операционной системой.

Файл является временным. Временный файл содержит данные, необходимые во время выполнения приложения, но не требуемые после завершения приложения. Файловые системы для ускорения доступа стремятся держать все данные в памяти, а не сбрасывать их обратно на запоминающее устройство. Приложение должно стереть временный файл сразу после того, как он перестанет быть нужным.

Примеры

В следующем примере показано, как получить атрибуты для файла и проверить, доступен ли файл только для чтения.

Функция GetFileAttributes получает набор атрибутов файловой системы FAT для указанного файла или директории.

Для получения большего числа атрибутов, используйте функцию GetFileAttributesEx.

Параметры:

Адрес нульзаканчивающейся строки, которая определяет имя файла или директории.

В ANSI-версия этой функции, имя ограничено в MAX_PATH символов. Для увеличения этого предела до 32,767 широких символов, вызывайте Unicode-версию функции, добавив к пути "\\?\".

Возвращаемые значения:

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

При ошибке, возвращается значение INVALID_FILE_ATTRIBUTES. Для получения дополнительной информации об ошибке, вызывайте GetLastError.

Атрибуты могут иметь одно или более следующих значений:

Значение:
Описание:

Файл может быть заархивирован.

Файл или директория сжат.

Для файлов, все данные в файле сжаты.

Дескриптор идентифицирует директорию.

Файл или директория зашифрован.

Для файла, все потоки данных в файле зашифрованы.

Файл или директория зашифрован.

Для файла, все потоки данных в файле зашифрованы.

Файл или директория, который не имеет других установленных атрибутов.

Данные в файле не являются немедленно достижимыми.

Файл или директория предназначены только для чтения.

Для файлов, приложение может читать из файла, но не может в него записывать или удалять его.

Файл будет использован для временного хранения.

Замечания:

Когда GetFileAttributes вызывется для директории, которая содержит точку монтирования раздела, возвращаемые файловые атрибуты являются атрибутами директории, к которой примонтирован раздел, а не атрибуты корневой директории в монтируемом разделе. Для получение атрибутов смонтированного раздела, вызовите GetVolumeNameForVolumeMountPoint, для получения имени раздела. Затем используйте это имя в вызове GetFileAttributes.

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

Существует возможность просмотра указанного каталога с целью поиска файлов и других каталогов, имена которых соответствуют заданному шаблону, одновременно с получением атрибутов файлов. Для выполнения поиска требуется дескриптор поиска (search handle), получаемый с помощью функции FindFirstFile. Для нахождения файлов, имена которых удовлетворяют заданным условиям, используется функция FindNextFile, а для прекращения поиска — функция FindClose.

HANDLE FindFirstFile(LPCTSTR lpFileName, LPWIN32_FIND_DATA lpffd)

Возвращаемое значение: дескриптор поиска. Значение INVALID_HANDLE_VALUE указывает на неудачное завершение функции.

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

lpFileName — указатель на строку, содержащую имя каталога или полное имя файла, при указании которых можно использовать метасимволы (? и *). Если необходимо осуществить поиск конкретного файла, метасимволы опускаются.

lpffd — указатель на структуру WIN32_FIND_DATA, которая принимает информацию о первом найденном файле или каталоге, который удовлетворяет критерию поиска, если таковой был найден.

Структура WIN32_FIND_DATA определяется следующим образом:

Параметр dwFileAttributes можно тестировать на присутствие значений, описанных при рассмотрении функции CreateFile, а также некоторых других значений, например, FILE_ATTRIBUTE_SPARSE_FILE или FILE_ATTRIBUTE_ENCRYTPED, которые не устанавливаются функцией CreateFile. Описание меток времени трех типов (время создания, время последнего обращения и время последнего изменения) приведено в одном из следующих разделов. Названия полей размера файла (nFileSizeHigh и nFileSizeLow) говорят сами за себя. cFileName — это не полное имя файла, содержащее путь доступа, а само имя файла. cAlternateFileName — имя файла в формате DOS 8.3 (включая точку); эта информация редко используется и может понадобиться лишь для того, чтобы определить, каким будет имя файла в файловой системе FAT16.

Во многих случаях требуется просматривать каталог с целью поиска файлов, имена которых соответствуют некоторому шаблону, содержащему метасимволы ? и *. Для этого следует использовать дескриптор поиска, полученный из функции FindFirstFile, в котором содержится информация об искомом имени, и вызвать функцию FindNextFile.

BOOL FindNextFile(HANDLE hFindFile, LPWIN32_FIND_DATA lpffd)

Функция FindNextFile возвращает значение FALSE, если аргументы недействительны или если не удается найти файл, удовлетворяющий критерию поиска, причем последнему случаю соответствует возвращаемое значение функции GetLastError, равное ERROR_NO_MORE_FILES.

После того как поиск завершен, дескриптор поиска должен быть закрыт. Функцию CloseHandle для этой цели использовать нельзя. Это редкий пример нарушения правила, согласно которому функция CloseHandle применима к дескрипторам любого типа; в данном случае закрытие дескриптора поиска подобным способом приведет к генерации исключения. Вместо этого необходимо использовать следующую функцию:

BOOL FindClose(HANDLE hFindFile)

Функция GetFileInformationByHandle позволяет получить информацию о конкретном файле, на который указывает открытый дескриптор файла. Она также возвращает поле nNumberOfLinks, в котором содержится количество жестких ссылок на файл, установленных функцией CreateHardLink.

Описанный метод расширения метасимволов необходим даже в программах, запускаемых на выполнение из командной строки DOS, поскольку оболочка DOS не расширяет метасимволы.

Полные имена файлов

Полное имя файла можно получить, используя функцию GetFullPathName. Функция GetShortPathName возвращает имя файла в формате DOS 8.3, в предположении, что данный том поддерживает короткие имена файлов.

В NT 5.1 была введена функция SetFileShortName, позволяющая изменить существующее сокращенное имя файла или каталога. Иногда это оказывается удобным, поскольку интерпретация сокращенных имен файлов часто вызывает затруднения.

Другие методы определения атрибутов файлов и каталогов

Функции FindFirstFile и FindNextFile позволяют получить следующую информацию, связанную с атрибутами файла: флаги атрибутов, метки времени трех типов и размер файла. Существуют также другие аналогичные функции, одна из которых предназначена для задания атрибутов, причем эти функции могут работать непосредственно с открытыми дескрипторами файлов, не требуя просмотра каталогов или указания имен файлов. Три из этих функций, а именно, GetFileSize, GetFileSizeEx и SetEndOfFile, были описаны ранее в этой главе.

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

BOOL GetFileTime(HANDLE hFile, LPFILETIME lpftCreation, LPFILETIME lpftLastAccess, LPFILETIME lpftLastWrite)

Указанные здесь и в структуре WIN32_FIND_DATA метки времени представляют собой 64-битовые целые числа без знака, которые выражают величину временного интервала, вычисленную относительно условного начала отсчета (1 января 1601 года) и преобразованную во время UTC (Universal Coordinated Time — всеобщее скоординированное время), в 100-наносекундных единицах времени (10 7 единиц в 1 секунде). Для работы с этими временными параметрами предусмотрено несколько удобных функций.

• Функция FileTimeToSystemTime (здесь не описывается; см. справочную систему Windows и программу 3.2) разбивает метки времени файла на отдельные блоки, соответствующие естественным единицам измерения, от годов до секунд и миллисекунд. Эти блоки удобно, например, использовать при выводе временных атрибутов файлов на экран или принтер.

• Функция SystemTimeToFileTime обращает этот процесс, преобразуя время, выраженное в естественных единицах, в метки времени файла.

• Функция CompareFileTime сравнивает метки времени двух файлов и в случае успешного завершения возвращает значение, зависящее от того, меньше (-1), равно (0) или больше (+1) значение метки времени первого файла по сравнению со значением метки времени второго файла.

• Для изменения меток времени служит функция SetFileTime; метки времени, не подлежащие изменению, при вызове функции указываются равными 0. NTFS поддерживает все три типа меток времени файлов, но FAT дает точные результаты только для меток времени последнего обращения.

• Функции FileTimeToLocalFileTime и LocalFileTimeToFileTime преобразуют значения меток времени, соответственно, от всеобщего скоординированного времени UTC к местному времени и наоборот.

Функция GetFileType, которая здесь подробно не описывается, позволяет различать файлы трех типов: дисковые, символьные (к ним, по сути, относятся такие устройства, как принтеры и консоли) и каналы (см. главу 11). Как и в большинстве других случаев, файл, характеристику которого необходимо определить, задается дескриптором.

Функция GetFileAttributes принимает в качестве аргумента имя файла или каталога, а всю информацию об атрибутах передает через свое возвращаемое значение dwFileAttributes.

DWORD GetFileAttributes(LPCTSTR lpFileName)

Возвращаемое значение: в случае успешного завершения — атрибуты файла, иначе — 0xFFFFFFFF.

Для определения атрибутов можно воспользоваться логическим сравнением возвращаемого значения функции с соответствующими масками значений атрибутов. Некоторые атрибуты, например атрибут временного файла, изначально устанавливаются функцией CreateFile. В качестве примера можно привести следующие атрибуты:

Для изменения атрибутов именованных файлов служит функция SetFileAttributes.

В UNIX трем вышеописанным функциям Find соответствуют функции opendir, readdir и closedir. Функция stat предоставляет размер файла и значения меток времени, а также информацию о его индивидуальном или групповом владельце, необходимую для защиты файлов в UNIX. Разновидностями этой функции являются функции fstat и lstat. Эти функции позволяют также получать информацию о типе файла. Метки времени файла в UNIX устанавливаются с помощью функции utime. Эквивалента атрибута временного файла в UNIX не существует.

Именование временных файлов

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

Функция GetTempFileName предоставляет уникальное имя файла с расширением .tmp, используя указанный путь доступа, и при необходимости создает файл. Эта функция широко используется в ряде следующих примеров (программа 6.1, программа 7.1 и другие).

UINT GetTempFileName(LPCTSTR lpPathName, LPCTSTR lpPrefixString, UINT uUnique, LPTSTR lpTempFileName)

Возвращаемое значение: уникальное числовое значение, используемое для создания имени файла. Этим значением будет значение параметра uUnique, если при вызове функции оно было задано ненулевым. В случае неудачного завершения функции возвращаемое значение равно нулю.

lpPathName — каталог, в котором размещается временный файл. Типичным значением этого параметра является строка ".", указывающая на текущий каталог. В других случаях можно воспользоваться функцией Windows GetTempPath, которая предоставляет имя каталога, используемого для хранения временных файлов, но нами здесь не рассматривается.

lpTempFileName — указатель на буфер, предназначенный для хранения имени временного файла. Размер буфера, выраженный в байтах, должен быть не менее МАХРАТН. Результирующее полное имя файла получается объединением строк, соответствующих пути доступа к файлу, префикса, четырехразрядного шестнадцатеричного числа и суффикса .tmp.

В Windows Server 2003 в столбце «Атрибуты» проводника Windows некоторые файлы имеют «A», «C», «AC» или другие. Что это значит?

Другой вопрос: «Что, черт возьми, делает флаг архива» - я видел его с первых дней MS-DOS, он применяется почти к каждому отдельному файлу, и у меня никогда не было необходимости / причины менять его, но в то же время никогда не знал, что он делает. Это все еще функционально? @Mark: насколько мне известно, флаг Archive использовался утилитами резервного копирования. Он был сброшен после резервного копирования. Если вы изменяете файл, он устанавливается снова, чтобы пометить его, необходимо снова выполнить резервное копирование. Примитивный, так что больше не используется, я думаю. Архивный бит все еще используется. Я написал программу для сброса разрешений всех домашних каталогов наших пользователей, если они оказались не в порядке. Смена разрешений отключает архивный бит. Действительно разозлил людей операций, когда резервные копии побежали.

До Windows 8/10 атрибуты были:

Вы должны обратить особое внимание на атрибут offline, поскольку он может повлиять на поведение вашей программы резервного копирования. Файлы с атрибутом O могут быть полностью пропущены, поскольку программное обеспечение может предполагать, что они хранятся в другом месте.

Рассмотрите эти ответы на SO и SF для дополнительной информации:

Я видел атрибут O в файлах, полученных после распаковки архива фреймворка Yii PHP (точнее, yii-1.1.7.r3135). Не уверен, как там все прошло. Ни как на это реагировать . Заметил это, потому что у него есть определенный значок наложения. Голосование вниз. Команда attrib в моей системе win10 не согласна с этим. Ответ должен указывать на ссылку и / или объяснять, что означают атрибуты и как они предназначены для использования.

A = бит архива установлен
C = сжат

Другим атрибутом является E для Encrypted.

Когда Windows 7 «Резервное копирование и восстановление» создает «образ системы», она помещает его в папку корневого уровня с именем WindowsImageBackup, которая имеет атрибут «I». Команда «help attrib» в Windows 7 гласит:

D отсутствует в приведенном выше списке, поэтому, если вам интересно, как я, D означает «Справочник». Вероятно, он не включен, потому что вопрос был сосредоточен на файлах, а не на каталогах, но я нашел этот вопрос в поиске и мне пришлось продолжить поиск, чтобы выяснить, что такое D, поэтому для удобства будущих читателей я добавил этот ответ.

Вот ссылка на ответ, который включал D:

Вы можете манипулировать атрибутами (установить / сбросить) с помощью attrib команды.

Откройте cmd.exe приглашение с помощью, win+r а затем введите;

S = системный файл

R = только чтение

AHS и R могут быть установлены пользователем или системой, в качестве пользователя вы можете использовать команду «attrib» для добавления / удаления атрибутов. C является системным атрибутом.

Чтобы узнать больше о команде attrib, откройте окно командной строки и введите «attrib /?»

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

Поскольку он может быть установлен и отключен по желанию, это не обязательно самый надежный метод, и я думаю, что большинство программ резервного копирования использует более сложные критерии для определения того, что включать в инкрементное резервное копирование.

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

Бит A появляется только тогда, когда у вас есть программное обеспечение для резервного копирования, которое устанавливает его, чтобы указать, что файл был заархивирован. Когда пользователь вносит изменения в файл, операционная система очищает бит архива, чтобы указать программному обеспечению резервного копирования, что, если оно выполняет инкрементное или дифференциальное резервное копирование, ему необходимо выполнить резервное копирование этого измененного файла и сбросить бит A. Инкрементные резервные копии сбрасывают бит архива, поэтому следующая инкрементная копия будет создавать резервные копии только что измененных файлов. Разностные резервные копии НЕ сбрасывают бит архива, поэтому каждая разностная резервная копия захватывает все файлы, которые изменились с момента предыдущего полного резервного копирования. Таким образом, для восстановления системы в пятницу администратору потребуется еженедельное резервное копирование с воскресенья и либо самая последняя разность, либо ВСЕ ежедневные инкрементальные значения.

Читайте также: