Атрибуты файловых объектов

Сергій

Разработчик
Сообщения
1,052
Реакции
300
Народ, а кто подскажет, что за атрибут 288? В папке темпа нашел файл (точно не помню названия) googleupdate.exe5ab28dd и у него такой атрибут. Я так понимаю, что это 256+32 (32=архивный). Еси файл скопировать в ту же папку, то атрибут остается просто архивный (32), а почему исчезло 256 и что оно означало. По логике должен тогда сущшествовать "в природе" и атрибут 128
инфо: 0 - без атрибутов, 1 - только чтение, 2 - скрытый, 4 - системный, 8 - метка тома диска, 16 - папка, 32 - архивный (неоригинальный), 64 - какой то непонятный псевдоним не для макентоша, 128 - ?, 256 - ?
18=2+16 (скрытая папка)
 
PHP:
Функция FileSetAttr устанавливает атрибуты определенного файла. Также можно изменять атрибуты файла.

Следующими значениями integer возможна установка атрибутов:

faReadOnly : 1 : Файл только для чтения
faHidden : 2 : Скрытый файл
faSysFile : 4 : Системный файл
faVolumeID : 8 : Файл идентификатора объёма
faDirectory : 16 : Файл директории
faArchive : 32 : Архивный файл
faSymLink : 64 : Ярлык
FileSetAttr - Функция. Справочник - Основы Delphi
Вот что нашёл.
 
File Attribute Constants (Windows)

FILE_ATTRIBUTE_TEMPORARY
256 (0x100)
A file that is being used for temporary storage. File systems avoid writing data back to mass storage if sufficient cache memory is available, because typically, an application deletes a temporary file after the handle is closed. In that scenario, the system can entirely avoid writing the data. Otherwise, the data is written after the handle is closed.
 
File Attribute Constants (Windows)

FILE_ATTRIBUTE_TEMPORARY
256 (0x100)
A file that is being used for temporary storage. File systems avoid writing data back to mass storage if sufficient cache memory is available, because typically, an application deletes a temporary file after the handle is closed. In that scenario, the system can entirely avoid writing the data. Otherwise, the data is written after the handle is closed.
Т.е. этот атрибут говорит, что файл временный? И что это дает? Инсталятор не чистит за собой временных и ставит метку системе, что это временное... а систама никак на это не отреагирует. Атрибуты ж только для нюансов использования и отображения в проводнике и программ, совместимых с ним по традициям.
 
Атрибуты ж только для нюансов использования и отображения в проводнике и программ, совместимых с ним по традициям.
Многое на что влияют. Одной статьи не хватит, чтобы описать все зависимости.
Например, та же FILE_ATTRIBUTE_READONLY приведет к ошибке ERROR_ACCESS_DENIED при удалении файла через DeleteFileW.
Т.е. этот атрибут говорит, что файл временный? И что это дает? Инсталятор не чистит за собой временных и ставит метку системе, что это временное... а систама никак на это не отреагирует.
Такие файлы обычно создают с комбинацией флагов FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE для функции CreateFileW.
Это говорит о том, что файл нужно создать в оперативной памяти. Сброс на диск произойдет только в случае, если объема ОЗУ окажется недостаточно. При этом ошибок не возникнет.
Второй флаг говорит о том, что закрытие хендла приведет к автоматическому удалению файла.
 
Назад
Сверху Снизу