Ako zamknete súbor v systéme Windows na blokovanie vymazania alebo prepísania?
Zatiaľ čo existuje veľa programov tretích strán na splnenie úlohy, niekedy stačí použiť vstavanú metódu, aby ste urobili to isté. Dnešný príspevok typu SuperUser Q & A pomáha čitateľovi nájsť úžasné zabudované riešenie, ktoré zabráni jeho vymazaniu alebo prepísaniu.
Dnešná relácia otázok a odpovedí sa k nám pridelí zdvorilosťou SuperUser - podskupiny Stack Exchange, zoskupenia webových stránok typu Q & A.
Poznámkový blok obrazovky s láskavým dovolením Dan (SuperUser).
Otázka
Používatelia čítačky SuperUser chcú vedieť, či v systéme Windows 7 a novších verziách existuje vstavaná metóda na uzamknutie súboru a zabránenie jeho prepísaniu alebo zmazaniu:
Existuje spôsob, ako zamknúť súbor s in-house prostriedkami, takže ho nemožno vymazať alebo prepísať? Počas skúšania skriptov kopírovania potrebujem dočasne zamknúť súbory, aby som skontroloval chyby v týchto skriptoch. Až do systému Windows XP by som nahrať súbor do debug.exe, aby ho zamknul. Existuje spôsob, ako to urobiť v systéme Windows 7 a novších vydaniach?
Viem, že existujú programy na to. Mojou otázkou je, či je v systéme Windows 7 a novších vydaniach zabudovaný mechanizmus. Niekedy musím skontrolovať skript na počítači a nechcem na to inštalovať nové programy.
Tam sú tiež niektoré dobré návrhy tu: Ako účelne výhradne zamknúť súbor? Bohužiaľ, vyžadujú nástroje tretej strany alebo zmena súboru do uzamknutého stavu.
Existuje vstavaný spôsob, ako to urobiť v systéme Windows 7 a novších vydaniach?
Odpoveď
Príspevky SuperUser Dan a Breakthrough majú odpoveď pre nás. Po prvé, Dan:
Myslím, že PowerShell je pravdepodobne najväčší spôsob, ako to dosiahnuť. Niečo ako toto:
Počas pozastavenia, vyššie uvedený skript spôsobí nasledujúce výzvu pri pokuse o otvorenie "myfile.txt":
Nasledovala odpoveď z prielomu:
Pre zvedavých je tu odkaz MSDN na metódu File :: Open s podrobnosťami o parametroch hovoru (konkrétne posledný argument 'None', odmieta zdieľanie súboru s inými vláknami / procesmi). Podobne existujú ustanovenia na uzamknutie súboru len na čítanie / zápis alebo jeho kombináciu.
Máte niečo doplniť vysvetlenie? Znie to v komentároch. Chcete sa dozvedieť viac odpovedí od iných používateľov technickej úrovne Stack Exchange? Pozrite sa na celý diskusný príspevok tu.