Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Windows

Windows проставляет сама атрибут "архивный". Что делать? : Windows

02.05.2024 4:56


22.04.2023 10:54
AndreyZh
 
Может быть кто знает? На моём ПК такого не было никогда, но приходится разбираться с чужой БД на своём ПК... и загребся

Есть куча каталогов (около 100) и в каждом стандартный набор файлов БД. Почти во всех каталогов пересоздание файлов происходит правильно, но в 6 из них какое-то волшебство. Перед пересозданием нового файла ОС ему проставляет атрибут "архивный" и программа не может его пересоздать. Перепробовал многое: и снимал атрибуты со всех папок, назначал всем архивный, стирал файлы перед созданием...

На всех других каталогах эти манипуляции не оказывали влияние, но на этих 6 всё бесполезно... Как возможная наводка. В других каталогах на стороннем ПК содержимое каталогов создавалось до появления на том ПК OnDrive, а косясные каталоги там были созданы после его включения...

Однако у себя... Также снимал все атрибуты - упаковывал в архив - развертывал в другой корневой каталог - переименовывал "сбойные" каталоги... Ничего не помогает - в остальных 94 каталогах всё без изменений и нормально, а в этих 6 всё равно на часть файлов ставит атрибут "архивный", который не даёт мне работать програмно с этими файлами
22.04.2023 11:04
Капитан О.
 
Если вы хотите отключить автоматическое проставление атрибута "архивный" для файлов и папок, то можете сделать следующее:

1. Откройте "Проводник".
2. Правой кнопкой мыши нажмите на нужную папку или диск.
3. Выберите "Свойства".
4. В открывшемся окне выберите вкладку "Общее".
5. Внизу окна найдите чекбокс "Архив", снимите галочку и нажмите "Применить".
6. Если нужно, повторите процедуру для остальных папок и дисков.

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

1. Откройте командную строку (нажмите Win+R, введите cmd и нажмите Enter).
2. Перейдите в нужную папку, используя команду cd (например, cd C:\путь\к\папке).
3. Для изменения атрибутов всех файлов и подпапок в текущей папке используйте команду attrib -a -s -h -r /s /d *.*
4. Если нужно изменить атрибуты только файлов, используйте команду attrib -a -s -h -r /s *.*.
5. Если нужно изменить атрибуты только папок, используйте команду attrib -a -s -h -r /s /d.

Обратите внимание, что изменение атрибутов через командную строку может быть опасным, поэтому сделайте резервную копию важных данных перед началом процедуры.
22.04.2023 11:31
OlegON
 
Погоди, много деталей, которые, как мне кажется, уводят в сторону.
Во-первых, почему программа не может его пересоздать? Снимай просто атрибут перед работой и все... На исходном ПК атрибутов таких нет или как там база работает?
Во-вторых, файлики обычно наследуют права от родительской директории. Как тебе Капитан посоветовал, бери общую директорию с БД, после чего сними с нее атрибут "архивный" с применением ко всем поддиректориям.
Может, не "архивный", а "readonly"?
22.04.2023 16:31
AndreyZh
 
OlegON, Капитан О., я не глупее паровоза... и все это проделывал!!!! Удаляю файл, создаю заново, автоматом прописывается архивный, не даёт с ним работать из программы
22.04.2023 19:49
twix
 
Вообще не понимаю, как атрибут "Архивный" влияет на невозможность выполнения операций с файлом. Два других атрибута могут: Только для чтения и Системный. Но и их снять/поставить вообще не проблема, если, конечно, права NTFS позволяют.
22.04.2023 20:44
OlegON
 
Погоди, я даже не поленился виртуалку запустить...
Код:
C:\test>attrib test
A            C:\test\test

C:\test>attrib -a -s -h -r /s /d *.*

C:\test>attrib test
             C:\test\test

C:\test>echo test>test

C:\test>attrib test
A            C:\test\test
Вновь созданный файл и измененный получают атрибут А, что, в принципе, понятно. Непонятно, как это нахрен отключить...
Код:
fsutil behavior set disablelastaccess 1
не помогает...
Святого ради, поясни, чем тебе этот атрибут мешает?
22.04.2023 21:43
twix
 
Вообще, этот атрибут нужен для систем резервного копирования. Его наличие означает необходимость забэкапить файл - это происходит для новых и измененных файлов. После бэкапа атрибут должен сниматься.
Видимо, тяжёлое наследие времён, когда хэшировать файлы было дорого, а сверять хэш с резервной копией - вообще невозможно. Наверное, использовалось ещё для магнитных лент.
22.04.2023 22:22
OlegON
 
Да глупость этот атрибут... Особенно в свете его произвольного появления при, например, копировании...
Но чем он мешает, я напрочь не понимаю... Подозреваю, что кое-кто не осилил отключение UAC...
24.04.2023 09:26
AndreyZh
 
twix, OlegON, сказанное вами мне известно, понятно и если бы не чудное поведение программы в Win10, то ен спрашивал. Файлы для переделки получил из чужого ПК, пытался обработать на своем c Win10. Заемучился и задал вопрос.

В принципе вопрос закрыл... Достал из загашников свой древний ПК с Win XP... и на нём эти злополучные файлы переделались
24.04.2023 09:51
student
 
Цитата:
AndreyZh Файлы для переделки получил из чужого ПК,
а м.б атрибут был не архивный ?



(0.01Мб)

винда все что загружается с некоторых узлов так помечает
Часовой пояс GMT +3, время: 04:56.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.