Как да заключите файл в Windows, за да блокирате изтриването или презаписването?
Въпреки че има много програми на трети страни за изпълнение на дадена задача, понякога просто искате да използвате вграден метод, за да направите същото. Днешната публикация „Въпроси и отговори“ на SuperUser помага на читателя да намери страхотно вградено решение, което да пази файловете му от изтриване или презаписване.
Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.
Снимка на Notepad с любезното съдействие на Dan (SuperUser).
Въпроса
Брошовете на SuperUser reader искат да знаят дали има вграден метод в Windows 7 и по-новите издания, за да заключите файл и да го предпазите от презаписване или изтриване:
Има ли начин да заключите файл с вътрешни средства, така че да не може да бъде изтрит или презаписан? Трябва временно да заключвам файловете, докато тествам скриптове за копиране, за да проверя обработката на грешки в тези скриптове. До Windows XP ще заредя файл в debug.exe, за да го заключа. Има ли начин да направите това в Windows 7 и по-новите издания?
Знам, че има програми за това. Моят въпрос е дали има вграден механизъм в Windows 7 и по-новите издания. Понякога трябва да проверя скрипт на компютър и не искам да инсталирам нови програми за това.
Тук има и някои добри предложения: Как да се заключва целенасочено единствено файл? За съжаление, те изискват инструменти на трета страна или промяна на файла в заключено състояние.
Има ли вграден метод за това в Windows 7 и по-новите издания?
Отговорът
Участниците в SuperUser Dan и Breakthrough имат отговор за нас. Първо, Дан:
Мисля, че PowerShell е може би най-чистият начин да постигнете това. Нещо като следното:
Докато е поставен на пауза, горният скрипт предизвиква следния ред, когато се опитва да отвори „myfile.txt“:
Следван от отговора от пробив:
За любопитните тук е MSDN линка към метода File :: Open, описващ параметрите на разговора (по-специално последният аргумент 'None', отказва да сподели файла с други нишки / процеси). По същия начин съществуват разпоредби за заключване на файла само за четене / запис или комбинация от тях.
Имате ли какво да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други технологични потребители на Stack Exchange? Вижте пълната тема за дискусия тук.