Есть ли способ заблокировать файл с помощью встроенных инструментов, чтобы его нельзя было удалить или перезаписать?
Для тестирования сценариев копирования мне нужно lock files temporarily
проверить обработку ошибок в сценариях. До XP я использовал загрузку файла в debug.exe, чтобы заблокировать его.
Есть ли способ в Windows 7 (и позже)?
Edit
Я знаю, что есть программы, которые делают это. У меня вопрос, есть ли встроенный механизм в Windows. Иногда мне приходится проверять скрипт на ПК, и я не хочу устанавливать для этого новые программы.
Edit2
Вот также хорошие предложения: Как целенаправленно заблокировать файл? , которые, однако, нужны сторонние инструменты или изменить файл для блокировки.
windows-7
filesystems
lock
болотно-покачивания
источник
источник
Ответы:
Я думаю, что PowerShell, вероятно, самый лучший способ сделать это. Что-то вроде следующего:
Во время паузы приведенный выше скрипт вызывает следующую подсказку при попытке открыть файл «myfile.txt»:
источник
File::Open
метод, детализирующий параметры вызова (в частности, последний аргумент'None'
, отклоняет совместное использование файла с любыми другими потоками / процессами - и аналогично, существуют положения, блокирующие файл только для чтения / записи. или их комбинация).$host.UI.RawUI.ReadKey(...)
в PowerShell ISE произойдет сбой, поскольку ReadKey не реализован для ISE. Обходной путь есть[void](Read-Host 'Press Enter to continue')
. Не совсем так, как пользователь должен нажать Enter, а не любую клавишу. Тем не менее, достаточно для большинства целей. Обходной путь был полученТак как я не люблю устанавливать программное обеспечение, которое на самом деле не буду использовать, я нашел этот драгоценный камень VBScript:
Весь кредит переходит к Торгейру Баккену, вы можете увидеть полный пост здесь: http://www.pcreview.co.uk/threads/how-to-lock-files.1518829/
источник
Разве вы не можете пометить его только для чтения? Это эффективно блокирует файл, не позволяя его изменить или удалить.
Команда attrib.exe доступна в командной строке и позволит вам установить файл или каталог только для чтения. Более подробную информацию об этой команде можно найти здесь
И наоборот, вы можете сделать то же самое с помощью графического интерфейса, щелкнув правой кнопкой мыши файл или каталог, который вы хотите пометить только для чтения, выбрав свойства и отметив флажок «Только чтение». Нажмите Apply / Ok, чтобы применить новый параметр к файлу или каталогу.
источник
Разве невозможно ограничить доступ к файлу с помощью вкладки «Безопасность», если щелкнуть правой кнопкой мыши и перейти в «Свойства» для файла или папки?
Если у пользователя есть доступ администратора к ПК, то не позволит ли он удалить все остальные возможности что-либо делать с файлом / папкой?
При вводе текста я должен признать, что мой рабочий компьютер все еще работает на WinXP Pro, поэтому то, что я изложил выше, может быть недоступно больше - мне все еще не так комфортно с моей новой коробкой Win 8.1 Pro дома, как с годы работы с Win XP
источник
В некоторых случаях создание новой папки с именем файла может помочь. (Т.е. появляется ошибка при попытке открыть файл).
источник