Это одна папка, содержащая файлы. Каждый раз, когда я делаю изменения, я делаю "Сохранить как" и увеличиваю номер версии. Однако иногда я случайно нажимаю "Сохранить" и перезаписываю свой файл - Стивен Вацелларо
Как сделать файлы в папке доступными только для чтения
Вы можете использовать ICACLS и явно запретить разрешение атрибутов записи для всех файлов в определенной папке и запретить себе (или любой группе безопасности) перезаписывать или изменять эти файлы, но при этом разрешать доступ на чтение для их открытия.
Ниже приведен пакетный сценарий с переменными среды %userdomain%\%username%
для определения текущего домена (или имени локального компьютера) и имени пользователя, подписанного на компьютере, для которого вы выполняете пакетный сценарий (т. Е. <domain>\<username>
), чтобы запретить доступ к аккаунту; это также может быть легко заменено на любое допустимое имя группы безопасности домена (например, <domain>\<securitygroupname>
).
Пакетный скрипт
Замените значение переменной Folder=
на полный явный путь к папке (или UNC-путь) на местоположение, которое необходимо сделать, чтобы существующие файлы были доступны только для чтения.
@ECHO ON
SET Folder=C:\Users\User\Desktop\Test
SET Security=%userdomain%\%username%
ICACLS "%Folder%\*" /deny "%Security%":(OI)(WA)
EXIT
Если вы посмотрите на разрешения ACL для файлов, вы увидите атрибуты записи с явным запретом, которые применяются к этой папке и файлам.

Вот папка с тестовыми документами с V1, V2 и т.д., С которой уже был запущен пакетный скрипт.

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

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

Дальнейшее чтение и ресурсы
Переменные среды
ICACLS
/deny Sid:perm explicitly denies the specified user access rights.
An explicit deny ACE is added for the stated permissions and
the same permissions in any explicit grant are removed.
WA - write attributes
inheritance rights may precede either form and are applied
only to directories:
(OI) - object inherit