Q0172: Windows’ta ‘Dosya Başka Bir Programda Açık Olduğu İçin Bu Eylem Gerçekleştirilemiyor’ Hatası ve Kilitli Dosyayı Silme

Ana sayfa › Forumlar › İşletim Sistemleri & Yazılımlar › Windows İşletim Sistemleri › Q0172: Windows’ta ‘Dosya Başka Bir Programda Açık Olduğu İçin Bu Eylem Gerçekleştirilemiyor’ Hatası ve Kilitli Dosyayı Silme

4 yazı görüntüleniyor - 1 ile 4 arası (toplam 4)
  • Yazar
    Yazılar
  • #72062 Yanıtla
    User AvatarGokturk_7
    Katılımcı

    Arkadaşlar, dün akşam sistem temizliği yaparken bilgisayarımda biriktirdiğim birkaç eski yedek klasörünü silmeye çalıştım ama işte orada takıldım. Belirli bir klasörün içindeki .mp4 ve .psd dosyalarına sağ tıklayıp sildiğimde “Dosya Başka Bir Programda Açık Olduğ İçin Bu Eylem Gerçekleştirilemiyor” uyarısı çıkıyor. Üstelik Dosya Gezgini’nde o anda hiçbir programın açık olmadığını gayet net görüyorum, ne Photoshop ne de bir medya oynatıcı çalışmıyor. Task Manager’dan da baktim, garip bir şekilde bellekte çok fazla process dolaşıyor ama hangisinin dosyayı kitlediğini bulamadım.

    Sizce bu kilitlenme genelde arka planda kapanmayan bir hizmetten mi kaynaklanır, yoksa dosya gerçekten başka bir process tarafından kullanılıyor olabilir mi? Dosyayı güvenli modda silmek yerine, Resource Monitor ya da Handle aracı gibi araçlarla hangi process’in o dosyayı açık tuttuğunu tespit edebilirmiyim? Bir de bu tür kilitli dosyaları zorla kaldırmak için komut satırından ya da üçüncü parti araçlardan önerdiğiniz bir yol var mı? Denediğim Cleanoo gibi araçlar dosyayı sildi ama sistemin bir yerinde takılma yapmaması için önce doğru process’i bulmak istiyorum, yoksa sonradan başka bir dosyada aynı hatayla karşılaşırım.

    💻 Sistem: i5-13400F | B760 Gaming X | RTX 4060 8GB | 32GB Kingston Fury 5600 | Kingston KC3000 1TB
    📍 Eskişehir (Odunpazarı)
    "Sıcak fırsat bitti mi günüm kötü geçer."
    #73475 Yanıtla
    User Avatarcustom_loop_tr
    Katılımcı

    Bu hata, dosyanın bir process tarafından kilitli tutulmasından kaynaklanır; yani dosya gerçekten açık değildir, bir uygulama ona handle (işlemci referansı) açmıştır. En hızlı teşhis için Kaynak İzleyicisi’ni (resmon) aç, CPU sekmesindeki “İlişkili Elimler” alanına silmek istediğin dosyanın tam yolunu yaz, aşağıda hangi .exe’nin bu dosyayı tuttuğunu direkt gösterir. Bunu yaptıktan sonra o process’i görev yöneticisinden kapatman yeterli olur. Yine de işin püf noktası şudur ki, birçok zaman bu kilidi Explorer’ın kendisi veya önizleme panosu tutar; o yüzden önce Gezipciği (explorer.exe) görev yöneticisinden yeniden başlatmak, binbir ihtimal sorunu tek başına çözebilir.

    Klasör/sistem dosyasıysa veya kimin açtığını bulamıyorsanız Sysinternals’ın Process Explorer’ını indir, Ctrl+F tuşuna basıp dosya adını yaz, “Find Handle or DLL” modunda tara—hangi process’in hangi modda (Read/Write/Execute) kilitli tuttuğunu detaylı gösterir. Elma simgesinden Kill Handle ile kilidi açabilir ya da handle

    #74052 Yanıtla
    User AvatarKutayX
    Katılımcı

    Bu hatayı alırken akla gelen ilk şey genelde dosyanın gerçekten açık olmasıysa da, pratikte çoğu zaman arka planda ölen ya da unutulmuş bir process dosyayı kilitli tutuyordur. İşi hızına göre iki yola bölerim: Önce Task Manager’dan şüpheli uygulamaları kapatmak ya da resource monitor (resmon) üzerinden “Disk” sekmesinde o dosyanın adını aratıp hangi process’in tuttuğunu görmek en temiz yol. Bazen Explorer’ın kendisi thumbnail önbelleğinde tuttuğu için resim/video dosyalarını silemezsin, bu durumda explorer.exe‘yi sonlandırp yeniden başlatmak çoğu zaman sihirli değnek gibi çalışır.

    Yine de kilit çözülünce silmiyorsa, benim yerelde en çok işe yarayan yöntemler sırasıyla: (1) PowerShell ile Remove-Item -Path "C:\yol\dosya.ext" -Force çalıştırmak, (2) LockHunter ya da PowerToys File Locksmith gibi araçlarla hangi process’in dosyayı açtığını görüp doğrudan kill etmek, (3) en temelsiz ama garantili yöntem olarak Safe Mode ya da bir Linux Live USB ile o diske erişip silmek. Bir de nadiren ama işe yarayan teknik: dosyanın adının başına \??\ koymadan, doğrudan Sysinternals Handle aracını handle -p dosyaadi.exe komutuyla taratıp PID’yi bulmak. Ben genelde bu süreçte bilgisayarı yeniden başlatıp hemen Safe Mode’a girip silmeyi tercih ederim çünkü o modda sürücü ve arka plan servisleri yüklenmediği için dosya kilidi doğal olarak düşer. Sonuç olarak, sabırla process’i bulup kapatmak her zaman en kısa yol oluyor.

    "────────────────────────────────────────"
    "Doğa acele etmez, yine de her şey başarılır."
    #75651 Yanıtla
    User AvatarBatuhanTR
    Katılımcı

    Bu hatayı en temiz çözümü önce hangi process’in dosyayı kilitlediğini bulmaktan geçer. Resource Monitor’u (Kaynak İzleyicisi) aç, CPU sekmesinde “Handle Eşleştirme” kısmından kilitli dosyanın adını yaz, altta hemen hangi uygulamanın o handle’a sahip olduğunu gösteriyor. Bazen sadece o programı kapatman yeterli oluyor, ama arka planda duran bir şeyse (Antivirüs taraması, OneDrive senkronizasyonu, Explorer’ın thumbnail önbelleği) elle durdurman gerekebilir. Benim en çok işe yarayan araç Sysinternals’dan Process Explorer; Ctrl+F basıp dosya adını aratıyorsun, bulduğu handle’ın hangi process’e ait olduğunu gösteriyor ve sağ tık → Close Handle ile kilişi açıp dosyayı silebiliyorsun. Hem ücretsiz hem de o anda çalışan programı kapatmana gerek kalmadan müdahale etmeni sağlıyor.

    Eğer bunlar da işe yaramıyorsa komut satırından gidilebilir: del /f /q "dosya_yolu" komutu zorla silme bayrağını açar, ama handle’ı kapatmaz. En garantili yol ya bilgisayarı yeniden baş

    "🎧 Ses: Sennheiser HD 600 + FiiO K5 Pro ESS DAC Stack + Moondrop Chu II"
4 yazı görüntüleniyor - 1 ile 4 arası (toplam 4)
Yanıtla: Q0172: Windows’ta ‘Dosya Başka Bir Programda Açık Olduğu İçin Bu Eylem Gerçekleştirilemiyor’ Hatası ve Kilitli Dosyayı Silme konusundaki #74052 kullanıcısına yanıt ver
Bilgileriniz:




Neyi merak ediyorsun?

En az 3 karakter yazın.

Keşfet