Як заблокувати файл у Windows для блокування видалення або перезапису?
Хоча існує багато програм сторонніх виробників для виконання завдання, іноді ви просто хочете використовувати вбудований метод, щоб зробити те ж саме. Повідомлення із запитань SuperUser на сьогодні допомагає читачеві знайти приголомшливе вбудоване рішення, яке дозволить зберегти його файли від видалення або перезапису.
Сьогоднішня сесія запитань та відповідей приходить до нас люб'язно SuperUser - підрозділ Stack Exchange, групування веб-сайтів із запитаннями та відповідями на рівні спільноти..
Знімок екрана Блокнот люб'язно надано Dan (SuperUser).
Питання
Бонуси читача SuperUser хоче знати, чи є вбудований метод у Windows 7 і нових версіях, щоб заблокувати файл і зберегти його від перезапису або видалення:
Чи є спосіб заблокувати файл із внутрішніми засобами, щоб його не можна було видалити або перезаписати? Мені потрібно тимчасово заблокувати файли під час тестування сценаріїв копіювання, щоб перевірити обробку помилок у цих сценаріях. До Windows XP, я б завантажити файл в debug.exe, щоб заблокувати його. Чи є спосіб зробити це в Windows 7 і нових версіях?
Я знаю, що для цього є програми. Моє питання, чи є вбудований механізм у Windows 7 і новіших виданнях. Іноді мені доводиться перевіряти скрипт на ПК і не хочу для цього встановлювати нові програми.
Тут також є кілька хороших пропозицій: Як цілеспрямовано блокувати файл? На жаль, вони вимагають інструментів третьої сторони або зміни файлу на заблокований стан.
Чи є вбудований метод для цього у Windows 7 і нових версіях?
Відповідь
Співробітники SuperUser Dan і Breakthrough мають відповідь для нас. Спочатку, Дан:
Я вважаю, що PowerShell - це, мабуть, найкращий спосіб досягти цього. Щось подібне:
Під час призупинення наведений вище сценарій викликає наступний запит при спробі відкрити "myfile.txt":
Далі йде відповідь від Прориву:
Для допитливих, ось посилання MSDN на метод File :: Open з деталізацією параметрів виклику (зокрема, останній аргумент "None", відхиляє спільний доступ до файлу з іншими потоками / процесами). Аналогічно, існують положення для блокування файлу тільки для читання / запису або їх комбінації.
Маєте щось додати до пояснення? Звучить в коментарях. Хочете прочитати більше відповідей від інших технологічних користувачів Stack Exchange? Перегляньте повний потік обговорення тут.