По ходу этой книги нам не единожды встречались атрибуты. Мы уже знаем, что это особые свойства файлов и каталогов, влияющие на возможность или ход выполнения той или иной операции. Придуманные когда-то для "чистой" DOS, атрибуты во многом утратили прежнее значение, хотя кое в чем полезны и сейчас. Они либо уменьшают риск порчи или удаления особо ценных файлов, либо позволяют системе понять, выполнялись ли уже с объектами определенные действия. Знаем мы и о том, каким способом отображаются атрибуты в панелях ТС; что можно делать с представлением "скрытых" и "системных" файлов, как влияют атрибуты на безопасность файловых операций и как учитываются при поиске объектов.
Во всех перечисленных случаях мы атрибуты явным образом не создаем и не изменяем, а лишь используем в своих интересах, система же и различные программы задают состояние атрибутов без нашего участия. Но бывает, что у вас по этому поводу возникает собственное мнение, и вы твердо намерены на нем настоять.
Иногда приходится не только изменять атрибуты самому, но и как-то влиять на автоматическое их изменение в ходе некоторых операций. В ТС для этого есть несколько специальных настроек. Давайте посмотрим на них, попутно освежив в памяти назначение атрибутов.
Название атрибута "архивный" неточное: его получает как раз файл, подле- жащий архивированию. Архивный бит устанавливается при создании или обновлении файла и снимается при резервном архивировании. (Обычные архиваторы, правда, его большей частью игнорируют.) Скопированный или перемещенный файл, если был без атрибута, получает его вновь. При переименовании ТС устанавливает архивный бит, но может этого и не делать, если вы измените значение ключа setArchiveBitOnRename(см. приложение 2).
Атрибут "только для чтения", назначение которого следует из названия, может оказаться полезным для защиты файлов. В то же время файловый менеджер должен уметь автоматически снимать атрибут у объектов, копируемых с CD-дисков — там он обязателен, а на локальном диске у всего подряд не нужен. Остается только распознать диск как CD-ROM, но для сетевых CD-приводов автоматика срабатывает не всегда. И вот тут-то пригодятся дополнительные умения ТС. Вы можете принудительно пометить определенные диски как CD-ROM, задав ключ следующего вида: DriveisCD=FGH. И атрибут будет отлично сниматься!
Атрибуты "скрытый" и "системный" в ТС функционально практически неразличимы: для скрытия/отображения или для учета при удалении/перезаписи используется единая опция на оба атрибута. Запрос на основании этих атрибутов может стать последним рубежом обороны программы от ваших непродуманных действий. А вот к скрытию объектов с этими атрибутами лично мы относимся без энтузиазма. Хотите пример на тему "Порой усердие превозмогает и рассудок"? Есть средства, назначающие папке с пользовательским значком атрибут "системный" (а не "только для чтения", как, например, Windows ХР). После такой модификации эта папка из окна ТС с настройками по умолчанию немедленно исчезнет. И попробуйте потом снять атрибут средствами системы, если он в окне свойств папки недоступен!
