Файлові системи Windows мають прапор "лише для читання". Це простіше, ніж встановлювати дозволи DACL для такого простого ефекту.
У командному рядку використовуйте команду ATTR. У оболонці графічного інтерфейсу він повинен бути у Властивості, хоча gui може зробити щось складне і поза тим, що ви дійсно хотіли.
Крім того, якщо ви знову створите каталог з тим самим іменем, ви можете застосувати до нього «відновити попередні версії».
Оновлення
Я експериментував над системою Win7. GUI видалення (без кошика) ігнорує на R
прапор на каталог. Немає жодних додаткових підказок про це, як і я бачив за H
та / або S
прапорами. Видача rd
з командного рядка надає доступ заборонений, як очікувалося. Однак ви не можете просто просто rd
не порожній каталог: видалити файл і видалити каталог - це різні команди. Команда для рекурсивного видалення каталогу із вмістом видалить вміст, а потім не вдасться видалити тепер порожній каталог.
Отже, захист самого каталогу не працює в тому, що ви пам'ятаєте. І це означає, що будь-який більш фантастичний підхід до запобігання видаленню самого каталогу не завадить спочатку його спорожнити! Ви сказали, що ви все ще бажаєте нормального доступу до каталогу для створення та видалення файлів, тому повністю заблокувати його не є рішенням для вас.
Найкращим рішенням здається символічне посилання . Здійснення символічного посилання (новий стиль, те, що Windows Vista і вище називає символічним посиланням) до каталогу на робочому столі, коли каталог фактично існує десь в іншому місці, працює в тому сенсі, що якщо я видалю значок робочого столу (shift-delete, немає корзини) фактичний каталог не впливає, оскільки видалено лише посилання.
Shift-Delete значка робочого столу не хвилюється, якщо він позначений R
атрибутом.
Програма, що використовує стандартне діалогове вікно, відкрите для файлів Windows, без проблем переходить через симпосилання. Він фактично вирішив ім'я пов'язаного каталогу, тому відкритий файл був справжнім іменем; наприклад, Desktop\MyFolder
став, D:\scratch\MyFolder
коли я переміщався по ньому.
Використовуючи посилання в старому стилі ( З'єднання ), програма побачила ім'я з переходом, який все ще знаходиться на шляху; наприклад, C:\Users\john\Desktop\MyFolder\test.txt
тому факт, що це посилання, невидимий. Тим не менш, дія видалення GUI все ще трактує його як посилання, не помітно слідуючи за ним.
У будь-якому випадку, якщо програма робить використання псевдоніму імені безпосередньо він буде працювати. Але наявність файлів, які іноді бачать одне ім’я, а іноді й інші, може сплутати речі.
Висновок
Використовуйте З’єднання на робочому столі з папкою, дійсно розташованою в іншому місці, і це буде абсолютно прозорим, що це те, що відбувається. За бажанням можна використовувати DACL для запобігання випадкового видалення файлу точки з'єднання на робочому столі. Принаймні, мати сценарій, щоб заново створити його за потреби.
Бонус
Я цього не пробував, але мені цікаво, чи не могли б ви мати щось у «нових пунктах», щоб заново створити з'єднання чи символічне посилання? Потім просто клацніть правою кнопкою миші на тепер порожньому робочому столі, виберіть команду «Створити ...» і виберіть у меню пункт «Шпалери робочого столу». Попросіть його відновити все, що ви дійсно хотіли на робочому столі.