Windows'ta hangi işlemin bir dosyayı veya klasörü kilitlediğini öğrenin


599

Windows'ta hangi işlemin bir dosyayı veya klasörü kilitlediğini nasıl öğrenebilirim?

Örneğin, bir klasörü silmeye çalışırken, Windows bunu bildirir:

Klasör başka bir programda açık olduğundan eylem tamamlanamıyor

Aynı şey bir dosyada olur, ancak şu anda hangi programı veya uygulamanın kullandığını ve dosya veya klasörü silmemi engellediğini nasıl öğrenirim?



1
Dosyanız video mu? Windows Gezgini'nin dosyayı "kullanıyor" olduğunu fark edebilirsiniz ...
DisgruntledGoat

30
Bu nasıl bir kopya? O, özellikle Kilitli bir dosyayı silmek için hangi işlemin bir dosyayı nasıl kilitlediğini bulmak için sormak.
b1nary.atr0phy

8
Buraya yerleşik, daha basit bir cevap ekleyemiyorum, çünkü yanlış bir dupe olarak işaretlenmiş, ne de başka bir konuya ekleyemiyorum çünkü bu sadece XP için geçerli. Ancak yine de, Kaynak İzleyicili Windows sürümleri için (arama çubuğuna yazın), CPU sekmesine / Associated Handles kısmına gidin, ardından dosyayı veya klasörü arayın.
jontyc

Windows 10'un (ve sanırım Windows 7 gibi erken bir zamanda), hangi işlemlerin bir dosyayı veya klasörü kilitlediğini görmenizi sağlayan Kaynak Monitörü adlı bir program olduğunu öğrendim: stackoverflow.com/a/24126882/470749
Ryan

Yanıtlar:


43

PowerShell yöntemi:

IF((Test-Path -Path $FileOrFolderPath) -eq $false) {
    Write-Warning "File or directory does not exist."       
}
Else {
    $LockingProcess = CMD /C "openfiles /query /fo table | find /I ""$FileOrFolderPath"""
    Write-Host $LockingProcess
}

openfiles komutunun çalıştırarak, yerel dosyalar için etkin olması gerekir openfiles /local on ve yeniden başlatılıyor.

Daha fazla detay Windows'ta hangi işlemin bir dosyayı veya klasörü kilitlediğini bulma


Nedense bu sadece benim için boş bir dize döndü. PS İMKB'yi de yönetici modunda çalıştırdım.
Dib

9
Özelliğin öncelikle ile etkinleştirilmesi gerekir openfiles /local on
mstrange

5
Ne yazık ki, openfiles 64 bit Windows üzerinde çalışmıyor gibi görünüyor: ERROR: The target system must be running a 32 bit OS.
Thomas S.

Benim için Win10 64'te çalışıyor
Michael

Bunu çalıştırmak bana aynı Erişimi Reddetti hatası verdi. Aslen alıyordum ve daha sonra her zaman hata mesajı bulunmuyor çıktı. Ancak aşağıdaki cevap bana ihtiyaç duyduğum bilgiyi verdi - IIS değiştirmem gereken dizini kilitliyordu.
Chris Thompson

537

Windows 7, 8 ve 10 için yerleşik ayarları kullanabilirsiniz. Kaynak İzleyicisi bunun için.

  1. Açık Kaynak İzleyicisi , bulunabilir
    • Arayarak resmon.exe Başlat menüsünde, veya
    • Bir düğme olarak performans sekmenizde Görev Yöneticisi
  2. İşlemci sekmesinde ve arama alanındaki İlişkili Kollar Bölüm
    • Aşağıdaki ekran görüntüsünde mavi ok ile gösterildi

Belirgin olmadığı takdirde, tanıtıcıyı bulduğunuzda işlemi, Görüntü ve / veya PID sütununa bakarak tanımlayabilirsiniz.

Bunu yapabiliyorsanız uygulamayı kapatabilirsiniz ya da sadece satırı sağ tıklattığınızda, işlemi orada öldürme seçeneğine sahip olursunuz. Basit!

Resource Monitor screenshot


16
Not: Kaynak İzleyicisi benim durumumda ilişkili herhangi bir tanıtıcı bulamadıyken İşlem Süreci ( Yukarıda tarif edilen ) yaptı.
ComFreek

13
@ComFreek Peki, ProcessExplorer birçok durumda daha güçlü olabilir, ancak benim için Kaynak Monitörü her zaman bir şey yapmaya çalıştığım dosyayı kilitleyen uygulamayı buldu. Ayrıca, sadece OS'de olduğu için Process Explorer'ı tercih ediyorum. Ekstra indirmeye ve bir yerde fazladan bir kısayola gerek yok.
Svish

5
Bunu İşlem Gezgini'nde bulamadım, ancak Kaynak Yöneticisi'nde bu talimatlarla bulmak kolaydı. Teşekkürler.
Tatiana Racheva

5
@ComFreek Benim durumumda sadece diğer durum buydu: İşlem Gezgini tanıtıcıyı bulamazdı, oysa Kaynak Monitörü buldu.
Uwe Keim

7
+1 - Bu aynı zamanda Windows 10'da gayet iyi çalışıyor
Matt Innes

377

Birkaç seçenek:

Microsoft / SysInternals İşlem Gezgini - Bul ve gt; Sap veya DLL bulun. "Handle veya DLL substring:" metin kutusuna, dosyanın yolunu yazın (örneğin, "C: \ path \ to \ file.txt") ve "Ara" düğmesini tıklayın. Bu dosyaya açık bir tanıtıcı olan tüm işlemler listelenmelidir.

WhoLockMe - Sağ tıklatma menüsü seçeneği ekleyen Explorer uzantısı

N.B. WhoLockMe, Win 10 ile çalışmıyor gibi görünüyor (en azından 32 veya 64 bit regsvr32.exe sürümleriyle kaydedemedim).


26
Windows 7'de, kilitli bir dosyayı silmeye çalışırsanız, hata mesajı size hangi işlemin kilitlendiğini bildirir.
Garry English

9
NOT: Dikkatli değilseniz, Unlocker Adware'i yükler. Web sitelerinden: "Promosyon özelliği: Tamamen isteğe bağlı Delta araç çubuğu."
Julian Knight

11
@GarryEnglish nedense bu her zaman böyle değildir. Sadece notepad ++ 'un bir klasöre kilitlendiğini söylemek için procexp kullanmak zorunda kaldım. Windows 7 bana suçlu olduğunu söyleyemedi.
GuiSim

4
@ jpmc26 Hayır. WhoLockMe, Windows 7'de çalışmıyor.
ceving

3
@ GarryEnglish- GuiSim'in belirttiği gibi, bu her zaman kesin değildir, ve benim tecrübeme göre, nadiren böyledir.
dgo

187

Şuna bir bak Süreç araştırmacısı ( procexp.exe ).

Girişinden itibaren:

Hangi programın belirli bir dosya veya dizinin açık olduğunu hiç merak ettiniz mi? Şimdi, bulabilirsin.

Hangi işlemin belirli bir dosyayı kullandığını bulmak için şu adımları izleyin:

  1. Git bulmak , Sap veya DLL bulun .. veya sadece basın Ctrl + F .

    Enter image description here

  2. Dosyanın adını girin ve Arama .

    Enter image description here

  3. İşlem Gezgini, açık dosya için bir tanıtıcı olan tüm işlemleri listeler. Süreci ana pencerede odaklamak için bir girişi tıklayın.

    Enter image description here

  4. İsteğe bağlı olarak, daha sonra tutamacı elle alt panelden kapatabilirsiniz ( Ctrl + L ):

    Enter image description here


6
İşlem Hacker da yapabilir.
Benoit

4
Gibi başka bir cevap bahseder Sap SysInternals'ın bu görevi yerine getirecek bir komut satırı aracıdır.
heavyd

Klasörde açık bir cmd işlemi unuttum, işlem gezgini bunu fark etmeme yardımcı oldu.
davejal

Google çalışanları için not, PE'nin şu anki sürümü artık desteklemiyor gibi görünüyor. Yakın kolu
MickyD

Win10 64-bit 1709'da çalışılamadı
K7AAY

23

LockHunter dosyalarınızı veya klasörlerinizi kilitlemiş olabilecek işleyicileri açabilir. Benzer freewares aksine, hem 32 hem de 64-bit Windows destekler.

Bilmediğiniz bir şey tarafından engellenen dosyaları silmek için ücretsiz bir araçtır. LockHunter, kötü amaçlı yazılımlara ve dosyaları sebepsiz yere engelleyen diğer programlara karşı mücadele etmek için kullanışlıdır. Diğer benzer araçlardan farklı olarak, dosyaları geri dönüşüm kutusuna siler; böylece yanlışlıkla silinirse geri yükleyebilirsiniz.

  • Bir dosyayı veya klasörü kilitleme işlemlerini gösterir
  • Kilitli bir dosyanın kilidini açmak, silmek, kopyalamak veya yeniden adlandırmak için izin verir
  • Kilitleme işlemini öldürür
  • Kilitleme işlemlerinin sabit sürücüden kaldırılmasını sağlar
  • Explorer menüsüne entegre olur
  • Dosyaları geri dönüşüm kutusuna siler, böylece yanlışlıkla silinirse geri yükleyebilirsiniz
  • Hem 32 hem de 64bit Windows'u destekler

2
En üstteki iki cevap bana işe yaramadı ve bir sonraki oyuna cevap verilenler ya güvenlik duvarım tarafından engellendi ya da kromumun gitmemesi konusunda uyarıldılar. LockHunter mükemmel çalıştı.
user3885927

1
Şans avcısı, diğerleri yapmadığında benim için çalıştı.
SheldonH

10

EMCO UnlockIT Dosyayı kilitlemenin yanı sıra, dosyayı silme / düzenleme / taşıma işlemlerini yapabilmek için dosyanın kilidini açabilir. Yeni sürüm orijinalden biraz daha yavaş ve daha şişirilmiş olmasına rağmen, program tamamen ücretsizdir (düz, derisiz bir GUI'ye sahiptir, ancak hemen ve anında sinir bozucu bir açılış ekranı olmadan yüklenmiştir). Ayrıca, söz konusu hata tetiklendiğinde orijinal sürüm otomatik olarak açılır ve dosyanın hemen kilidini açmanıza ve denediğiniz işlemi gerçekleştirmenize olanak sağlar.

Yine de UnlockIT, kritik derecede Windows'ta eksik olan temel bir işlevsellik sağlayan inanılmaz derecede faydalı bir programdır. Çalıştığım tüm Windows bilgisayarlara yüklediğim standart araçlar arasında.


@John: Bir dosyayı kilitleyen programı tanımlar. Ve hala görev yöneticisi aracılığıyla süreci el ile öldürebilirsiniz. Ancak, genellikle dosyayı kilidini açmak (özellikle dosyayı çoğu zaman kilitleyen gezgin olduğunda) kilitlemek için kullanılan işlemi öldürmek yerine (genellikle dosyaya erişip dosya işleyicisini açık bırakmak nedeniyle) daha kolaydır. Bir program aksaklığı nedeniyle).
Lèse majesté

2

İşte benim keşif oldu & amp; çözüm.

Bu arada, yukarıdaki cevapların hiçbiri sorunumu çözmedi.

Hatta değersiz olduğunu kanıtlayan UNLOCKER'ı kullanmayı da denedim.

Benim sorunum Memeo Autosync Yedekleme ile oldu

Görünüşe göre, bu yedekleme işlemi yeterince "hayalet dosya gibi" bırakır. Bu "hayalet dosya gibi" ne zaman bilgisayarımın ALT-TAB'sini (Windows Professional XP), yani TASK BAR'ımda yalnızca bir tane görünürken çalışan iki İK MS Excel Programını görecektim.

SYMANTEC Endpoint (Anti-Virus) Koruması olabileceğini düşündüğümde bu çözüme rastladım; ve programı devre dışı bıraktı. Ancak, hata mesajını almaya devam ettim:

silinemiyor (LARGE.xls dosyası): Başka bir kişi veya program tarafından kullanılıyor. Bu dosyayı kullanıyor olabilecek programları kapatın ve tekrar deneyin.

Daha sonra, Memeo'nun "senkronizasyon" ve programdan çıkan QUIT notunu görmeye devam ettim.

Daha sonra, HATA YOK.

Senin için, bu arka plan tasarrufu herhangi bir olabilir.


2

Programı bilmiyorsanız, kullandığı dosya o zaman Bilgisayarım'a gidebilir; sağ tık; Yönet'i seçin. Sistem Araçları altında & gt; Paylaşılan klasörler & gt; Dosyaları Aç, dosyayı kilitleyen kullanıcıyı görebilmeniz gerekir. Buradan dosyayı kapatabilir ve sonra dosyayı yeniden adlandırma veya silme işlemini gerçekleştirebilirsiniz. Bu yardımcı olur umarım


1
Bu sadece paylaşılan klasörler için çalışacaktır.
sweetfa

1

Ek olasılık, sadece insanları harcadığım zamanı kurtarmak için:

Windows'un eski sürümlerinde "Erişim Reddedildi - haklarınız olmayabilir veya dosya kullanımda olabilir" ifadesini alabilirsiniz. İşlem Gezgini aracılığıyla dosyaların aslında hiç kimsenin açmadığını fark ederseniz, güvenlik sorunu var demektir. Bir yönetici hesabı kullanarak, Explorer'da dosyaları seçin, sağ tıklayın ve Özellikler, Güvenlik, Gelişmiş, Sahip seçeneğini seçin. Muhtemelen, dosyaların artık var olmayan veya artık var olduğu doğrulanamayan bir hesaba ait olmaları (Active Directory güven ayarlarının değiştirilmesi nedeniyle) olmasıdır.

Sahipliği Yöneticiler olarak değiştirirseniz, gitmeniz iyi olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.