If-Koubou

Jak zablokować plik w systemie Windows, aby zablokować usuwanie lub nadpisywanie?

Jak zablokować plik w systemie Windows, aby zablokować usuwanie lub nadpisywanie? (Jak)

Chociaż istnieje wiele programów innych firm do wykonania zadania, czasami po prostu chcesz użyć wbudowanej metody, aby zrobić to samo. Dzisiejszy post z pytaniami SuperUser pomaga czytelnikowi znaleźć niesamowite wbudowane rozwiązanie, aby jego pliki nie zostały usunięte lub nadpisane.

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, społecznościowego forum z pytaniami i odpowiedziami.

Notatnik screenshot dzięki uprzejmości Dan (SuperUser).

Pytanie

Bobo czytnika SuperUser chce wiedzieć, czy istnieje wbudowana metoda w systemie Windows 7 i nowszych wydaniach, aby zablokować plik i zapobiec jego zastąpieniu lub usunięciu:

Czy istnieje sposób na zablokowanie pliku przy pomocy wewnętrznych środków, aby nie można go było usunąć lub zastąpić? Muszę tymczasowo zablokować pliki podczas testowania skryptów kopiowania, aby sprawdzić obsługę błędów w tych skryptach. Do Windows XP, ładowałem plik w debug.exe, aby go zablokować. Czy jest sposób na to w Windows 7 i nowszych wydaniach?

Wiem, że są programy do robienia tego. Moje pytanie brzmi, czy istnieje wbudowany mechanizm w Windows 7 i nowszych wydaniach. Czasami muszę sprawdzić skrypt na komputerze i nie chcę instalować do niego nowych programów.

Są tu także dobre sugestie: Jak celowo zablokować plik? Niestety, wymagają one zewnętrznych narzędzi lub zmiany pliku na zablokowany.

Czy jest to wbudowana metoda do tego w Windows 7 i nowszych wydaniach?

Odpowiedź

SuperUser współpracownicy Dan i Breakthrough mają dla nas odpowiedź. Najpierw Dan:

Myślę, że PowerShell jest prawdopodobnie najładniejszym sposobem na osiągnięcie tego. Coś jak poniżej:

Podczas pauzy powyższy skrypt powoduje, że przy próbie otwarcia pliku "myfile.txt" pojawia się następujący monit:

Poniżej znajduje się odpowiedź od Breakthrough:

Dla ciekawskich, tutaj jest link MSDN do metody File :: Open z wyszczególnieniem parametrów wywołania (konkretnie ostatniego argumentu "Brak", odmawia udostępniania pliku innym wątkom / procesom). Podobnie, istnieją przepisy, aby zablokować plik tylko do odczytu / zapisu lub ich kombinację.

Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.