Chcę trzymać wyłączną blokadę pliku, aby nie mógł być odczytany ani zapisany przez nic innego. Czy istnieje proste narzędzie lub polecenie systemu Windows, aby to zrobić?
Podejrzewam, że narzędzie lub narzędzie implementuje funkcję Windows LockFileEx .
Uwaga : próbowałem edytorów tekstu, takich jak Notepad i Notepad ++, na pliku tekstowym, ale nie posiadają one wyłącznej blokady.
windows-7
windows-server-2008
John K.
źródło
źródło
Odpowiedzi:
Wypróbuj Easy File Locker (darmowy).
źródło
Prostsze rozwiązanie: w katalogu zainteresowania uruchom z linii cmd:
Jako stdout po przekierowaniu pozostanie zablokowany, dopóki aplikacja (notatnik) nie zostanie zakończona.
Pamiętaj, że „filetolock” zostanie zastąpiony przez przekierowanie, więc prawdopodobnie nie chcesz używać istniejącego pliku o dowolnym znaczeniu. Pusty „filetolock” nie będzie miał znaczenia dla aplikacji, którą próbujesz przetestować, ponieważ aplikacja i tak nie będzie mogła go otworzyć.
źródło
notepad >>filetolock
Zablokuj plik bez narzędzi innych firm , żadnych zmian w pliku, który jest blokowany, a pliku nie można nawet skopiować
Ten skrypt PowerShell jest cytatem z odpowiedzi na podobne pytanie.
Jeśli uznasz to za pomocne, możesz głosować oryginalną odpowiedź, a nie ten post .
źródło
[void](Read-Host 'Press Enter to continue')
zamiast tego,$host.UI.RawUI.ReadKey(...)
ponieważ ReadKey nie jest obsługiwany w pseudo-konsoli w Powershell ISE.Otwórz za pomocą MS-Excel ... ta aplikacja blokuje plik podczas otwierania.
źródło
FileLocker to darmowe narzędzie wiersza polecenia typu open source.
Stosowanie:
źródło
Nie mogę pisać komentarzy, dlatego dodaję swoje informacje w ten sposób:
https://stackoverflow.com/questions/5860542/how-can-i-simulate-a-locked-file-one-which-has-a-write-lock
EDYCJA: streszczenie drugiego pytania:
polecenie pauzy:
( >&2 pause ) >> file2lock.txt
Programy MS, takie jak Word lub Excel, blokują również (działa dla plików tekstowych)
Programowo używaj
LockFileEx
(Windows API) zLOCKFILE_EXCLUSIVE_LOCK
iLOCKFILE_FAIL_IMMEDIATELY
źródło
Oto jak powielam zachowanie użytkownika zablokowanego pliku do testowania błędów.
Dim s As New StreamReader („C: \ test \ sampleFile.txt”)
Dodaję ten wiersz do mojego testu jednostkowego, aby zablokować plik, a następnie uruchamiam test w trybie debugowania, aby zreplikować złe zachowanie, gdy dany plik jest zablokowany.
Nadal nie wiem, w jaki sposób użytkownicy biznesowi blokują dany plik. Jak powiedziałeś, notatnik nie może go zablokować wyłącznie.
Na szczęście zadeklarowanie czytnika strumieniowego blokuje wyłącznie plik, chyba że określono inaczej.
źródło
Popieram rozwiązanie marsh-wiggle. Oto moja wersja skryptu:
Możesz to nazwać z cmd w następujący sposób:
źródło
Do testowania Robocopy ERROR „odmowa dostępu” Właśnie usunąłem dostęp do odczytu dla użytkownika. Czy to zadziała?
W systemie Windows 10 można to łatwo zrobić z wiersza poleceń
W systemie Windows 7 można użyć właściwości zabezpieczeń eksploratora plików.
źródło
Zastąp „Twoje-hasło-tutaj” swoim hasłem i zapisz ten skrypt jako Locker.bat
Po uruchomieniu pliku wsadowego pojawi się monit „Czy na pewno chcesz zablokować folder (T / N)”; wpisz Y i naciśnij enter, a folder zostanie zablokowany.
Uruchom ponownie plik wsadowy i wprowadź hasło, a folder i wszystkie pliki zostaną odblokowane ponownie.
źródło