Odblokowywanie plików

2008-07-18 11:07

Czasami zdarza się, że chcemy usunąć plik, który okazuje się być używany przez inny proces lub system operacyjny. Często nie mamy pojęcia, dlaczego tak jest i kto ma jakiś interes w trzymaniu blokady na tym właśnie pliku. Zwłaszcza Vista, będąca paranoicznie przewrażliwiona na punkcie zachowania integralności systemu plików, jest bardzo restrykcyjna pod względem swobody kasowania zbiorów będących w użyciu.
Oczywiście w takiej sytuacji można zawsze zrestartować system, ale trudno uznać to za wygodne rozwiązanie :) Dobrze byłoby więc mieć sposób na dowiedzenie się, jaki proces używa danego pliku, aby ewentualnie go zakończyć lub w skrajnym przypadku po prostu ubić.

I tu jest problem, bowiem w Windows nie ma na to prostego sposobu. Dotyczy to między innymi istnienia jakiegoś API, które by na to pozwalało; w najlepszym przypadku należy posłużyć się narzędziami z DDK, czyli pakietu służącego do… pisania sterowników działających w trybie jądra (kernel mode). Podobnie rzecz ma się z istnieniem wbudowanych w system programów, służących do tego celu (a więc czegoś podobnego do uniksowej komendy lsof). Odpowiednie narzędzia są jedynie częścią pakietów dodatkowych, jak Windows Server 2003 Resource Kit (niekompatybilny z Vistą) czy Windows Sysinternals. Mogą być one jednak dość kłopotliwe w obsłudze.

Dlatego podzielę się moim niedawnym odkryciem, którym jest mały i niezwykle przydatny programik o nazwie Unlocker. Potrafi on dokładnie to, o czym jest tu mowa: wylistować procesy, które używają danego pliku. Działa on przy tym na każdej sensownej wersji Windows, integruje się z menu kontekstowym plików dla większej wygody, no i jest do tego aplikacją freeware.
Rzadko robię czemuś aż taką “reklamę”, ale w tym przypadku uznałem, że tak dobrym i użytecznym narzędziem należy się niezwłocznie podzielić ze światem :)

Tags: ,
Author: Xion, posted under Applications »


5 comments for post “Odblokowywanie plików”.
  1. shoter:
    July 18th, 2008 o 11:43

    fakt to jest czasami denerwujące :\,szczególnie często mi się przytrafiało jak usunąłem wszystkie pliki z folderu a folderu nie mogłem usunąć bo był używany , szok :|.Może kiedyś do usuwania pustych folderów w takim wypadku się przyda =.Dzięki za info

  2. Gynvael:
    July 18th, 2008 o 12:05

    Unlocker daje radę ;>
    Dorzucę jeszcze że Process Explorerem (Sysinternals/Microsoft http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx) też umożliwia coś takiego – przy czym tam trzeba zrobić to bardziej “ręcznie” – przeszukać wszystkie procesy pod kątem interesującej nas nazwy pliku (Ctrl+F), po czym zamknąć dany handle ;> (jest to dość szybkie).
    Nie wiem jak nowe wersje Process Explorera, ale ta którą mam (z kwietnia) niestety miesza się trochę na 64-bitowej Viście. Na innych chodzi OK.

  3. d.evil:
    July 20th, 2008 o 12:59

    O, i tego potrzebowałem:) Thx:)

  4. Dynax:
    July 20th, 2008 o 16:45

    Od jakiegoś pół roku tego używam :)

  5. majtek:
    September 27th, 2008 o 19:05

    a dizała wam to pod vistą 64bit. Bo ja to z powodzeniem stosowałem pod xp ale pod vista 64 nie chce działać

Comments are disabled.
 


© 2017 Karol Kuczmarski "Xion". Layout by Urszulka. Powered by WordPress with QuickLaTeX.com.