Домашняя » как » Как заблокировать файл в Windows, чтобы заблокировать удаление или перезапись?

    Как заблокировать файл в Windows, чтобы заблокировать удаление или перезапись?

    Хотя для выполнения задачи существует множество сторонних программ, иногда вам просто нужно использовать встроенный метод, чтобы сделать то же самое. Сегодняшний пост SuperUser Q & A помогает читателю найти удивительное встроенное решение, чтобы его файлы не были удалены или перезаписаны..

    Сегодняшняя сессия вопросов и ответов пришла к нам благодаря SuperUser - подразделению Stack Exchange, группе веб-сайтов вопросов и ответов, управляемой сообществом..

    Скриншот блокнота любезно предоставлен Дэном (SuperUser).

    Вопрос

    SuperboSer Boboes хочет знать, есть ли встроенный метод в Windows 7 и более новых выпусках для блокировки файла и предотвращения его перезаписи или удаления:

    Есть ли способ заблокировать файл внутренними средствами, чтобы его нельзя было удалить или перезаписать? Мне нужно временно заблокировать файлы во время тестирования сценариев копирования, чтобы проверить обработку ошибок в этих сценариях. До Windows XP я бы загружал файл в debug.exe, чтобы заблокировать его. Есть ли способ сделать это в Windows 7 и более новых выпусках?

    Я знаю, что есть программы для этого. У меня вопрос, есть ли встроенный механизм в Windows 7 и более новых выпусках. Иногда мне приходится проверять скрипт на ПК, и я не хочу устанавливать для этого новые программы..

    Здесь также есть несколько полезных советов: как целенаправленно заблокировать файл? К сожалению, они требуют сторонних инструментов или изменения файла в заблокированное состояние.

    Есть ли встроенный метод для этого в Windows 7 и более новых выпусках?

    Ответ

    Авторы SuperUser Дэн и Breakthrough имеют ответ для нас. Прежде всего, Дэн:

    Я думаю, что PowerShell, вероятно, самый лучший способ сделать это. Что-то вроде следующего:

    Во время паузы приведенный выше скрипт вызывает следующую подсказку при попытке открыть «myfile.txt»:

    Вслед за ответом от Прорыв:

    Для любопытных, вот ссылка MSDN на метод File :: Open, подробно описывающий параметры вызова (в частности, последний аргумент «None», отказывается делиться файлом с любыми другими потоками / процессами). Аналогичным образом, существуют положения, блокирующие файл только для чтения / записи или их комбинации..


    Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.