Silmek için çok uzun bir yolu olan bir dosyayı silme [çoğalt]


203

Bulduğum bazı bilgisayar vizyonu kaynak kodlarıyla çalışıyordum ve ÇOK UZUN adı olan bir önbellek dosyası oluşturduğunu anlamadım ve şimdi bunların 2'sini silemiyorum.

Dosyayı daha kısa bir adla yeniden adlandırmaya çalıştım ancak dosyaya hiçbir şey yapamıyorum, ayrıca bilgisayarımı yeniden başlatmayı ve sadece kaybolacağını görmeyi denedim.

Hata mesajı şöyle diyor:

Hedef Yolu Çok Uzun.

Dosya adı, hedef klasör için çok uzun olacaktır. Dosya adını kısaltabilir ve yeniden deneyebilir veya daha kısa yolu olan bir konumu deneyebilirsiniz.

ekran görüntüsü

Bu durumda dosyaları nasıl silebilirim?


Komut satırından delkomut ile çalışır mı? Satırları boyunca bir şey del *.cachegeçerli dizindeki tüm .cache dosyalarını silmelisiniz.
Ryan,

"Path \ to \ folder \ CACHEI ~ Sistem belirtilen dosyayı bulamadı" dedi iki kez ve orada 2 dosya var ama hiçbir şey yapmadı
Chris

İkinci düşüncede, daha önce cevaplanmış olan diğer sorulardan birini kontrol edebilirsiniz. Bu, bir örneğin.
Ryan,

1
Bu iki dosya yalnızca dizinde kalanlarsa, dizinin tamamını silmeniz daha iyi olabilir. Komut isteminden, şunu deneyin: rd /s directoryname Bu silinir directorynameve içindeki tüm dosyalar / alt dizinler kullanılır, bu nedenle dikkatli kullanın :)
bitsmack

Yanıtlar:


353

Pencerelerde olduğunuzu varsayarak:

Her zaman yaptığım şey , yolun bir parçasıyla bir sürücü harfi ilişkisi oluşturmak için subst kullanmaktır .

Ardından yeni sürücü harfine gidin ve uzun adları olan dosyalara gidin. Şimdi onları yeniden / sil / etc olarak değiştirebilmelisiniz. Bunun çalışmasının nedeni, yolun artık> 255 karakter içermemesidir.

Bir alt klasör oluşturmak için

  1. Bir komut istemi başlatın (yönetici ayrıcalıklarına gerek yok)
  2. Kullanım cdgitmek istediğiniz klasöre gitmek için (kullanabileceğiniz tabisimleri otomatik tamamlamasına
  3. subst j: .driveletter ilişkisini oluşturmak için yazın . (yerine. yolun tamamını da yazabilirsiniz)
  4. Şimdi Explorer'da, Bu PC'de yeni bir sürücü harfiniz var . Git ve .cache dosyalarına ne yapman gerekiyorsa yap.
  5. Cmd pencerenize dönün subst /d j:ve sürücüyü kaldırmak için yazın veya alternatif olarak, bilgisayarınızı yeniden başlatın.

EDIT: Bunu biraz kısaltan öğrendim bir numara. Sorun yaşadığınız Explorer penceresinden, adres çubuğunu tıklayın, böylece yazabilirsiniz, sonra yazın cmdve Entero konumda bir komut istemi başlatmak için tuşuna basın , sonra 3. adımda devam edin. :)

EDIT2: Tamam, bu numara daha da genişletilebilir. Explorer'da doğru yoldaysanız, subst j: .adres çubuğuna yazıp enter tuşuna basın. Bir komut penceresi açılacak, komutu yürütecek ve tekrar kapatacaksınız, işte başlıyorsunuz, kaşifte yeni bir sürücü açılacak.


26
robocopy empty_dir base_nested_dir / temizleme - Sadece boş bir dizin oluşturun ve boş dizin değil hedef dizindeki her şeyi temizlemek için Robocopy'nin anlatmak stackoverflow.com/a/3320317/588759
rofrol

7
Sadece bu denedim ve söz konusu dosyayı kaldıramadım .. Windows ile cygwin kullanıyorum, alternatif bir çözüm dosyayı bu şekilde kaldırmaktır: rm -R / path / in / question dosyayı başka bir program kullanmadığı sürece gitmekte iyisin
John

1
SUBST'nin J: 'yi tanımadığı bir sorun vardı (parametre olarak mevcut olan herhangi bir sanal sürücüyü de göremedi), bu nedenle John tarafından belirtilen cygwin seçeneği iyi çalıştı.
Tisch

1
@ rofrol, robocopy'nizi bir yorum haline getirmelisiniz: çok sayıda alt dizinle uğraşırken dizin isimleri yaklaşımı yapmaktan çok daha kolaydır (içinde oluşturulmuş olanlar gibi node_modules)
Andy Brown

1
Rm -R -f / pathToDelete: John çözüm sadece -f (kuvvet parametresi) eklendi, benim için çok iyi çalıştı
Christophe Keller

67

Sorunuz, dosya adı çok uzun olduğunda bir dosyayı nasıl sileceğinizi sorar. Yol çok uzunsa ve yalnızca dosya adının kendisi değilse, yolu kısaltmak için kolayca klasörleri yeniden adlandırabilirsiniz.

Ancak, adı 255 karakterden fazla olan bir dosyayı silmek için:

  • "CMD.EXE" dosyasını çalıştırarak bir komut istemi açın
  • Dosyayı tutan klasöre gidin
  • Kısa dosya adlarını görüntüleyen DIR / X komutunu kullanın.
  • Kısa adı kullanarak silin.

yani eğer dosya "verylongfilename.fil" olarak adlandırılmışsa, kısa isim "verylo ~ 1.fil" gibi bir şey olarak gösterilir ve bu ismi kullanarak silebilirsiniz.

Windows’un 255 karakterden daha uzun yolları kullanabilmesine rağmen, GUI’nin (Windows Gezgini gibi) çoğunun daha kısa bir sınırla bağlı olduğunu lütfen unutmayın.


16
Bu, kabul edilenden daha iyi bir cevaptır.
Ben

3
Seçilen cevap daha iyi çünkü tüm klasörleri bu yöntemle silebilirsiniz
mcont

2
ancak Windows 7'de DIR / x'in burada herhangi bir ekranı değiştirmediği görülüyor ... :(
gumuruh

3
Bazı NTFS dosya sistemlerinde 8.3 eşdeğeri yoktur. Yani bu artık her zaman işe yaramaz.
Ross Presser

CMD'den Del / S, 8'de büyük bir isimle bile benim için çalıştı.
Jeff

4

Googled: uzun dosya adını sil İlk sonuç

Unlocker'ı kullanın http://www.filehippo.com/download_unlocker/

Klasör silinemiyor: Başka bir kişi veya program tarafından kullanılıyor Dosya silinemiyor: Erişim reddedildi Bir paylaşım ihlali oldu. Kaynak veya hedef dosya kullanımda olabilir. Dosya başka bir program veya kullanıcı tarafından kullanılıyor. Diskin dolu veya yazmaya karşı korumalı olmadığından ve dosyanın şu anda kullanımda olmadığından emin olun.

Unlocker yardımcı olabilir! Sadece klasörü veya dosyayı sağ tıklayın ve Unlocker seçeneğini seçin. Klasör veya dosya kilitliyse, bir pencere dolabı listesi görünecektir. Sadece Tümünün Kilidini Aç'ı tıkladığınızda işlem tamam!


1
Bunu gördüm ama unblocker kullanmak güvenli olup olmadığını bilmiyordum, bu yüzden onu görmezden geldim, deneyeceğim. EDIT: işe yaramadı. diğer dosyalar üzerinde çalışır, ancak unblocker açılır
Chris

Kesinlikle yapmak için en basit yol, ancak tamamlanması için yeniden başlatılması gerekebilir. Unlocker ile hiçbir şey yanlış değil - yıllardır kullanıyor ve bu çok kullanışlı bir yardımcı. Yolu çok uzun olan bir dosya veya klasörde kilitleme tutamağı bulamaz ancak daha sonra açılan menüde Sil seçeneğini sunması gerekir.
Steve Pettifer,

1
Kusursuz bir şekilde çalıştı - komik olan şey şu yazılımı yükledim ancak bu durumda kullanmam başıma gelmedi.
Daniel Sokolowski

Dairesel bir kavşak klasörünü kopyaladığım başka bir klasör için işe yaramadı, ancak işin yolu her seviye klasörünü baştan aşağı bir karakter olarak yeniden adlandırmak 1ve sonra silmek oldu.
Daniel Sokolowski

Bu benim için çalışan tek cevaptı (Windows 10 kullanıyorum). Çok teşekkür ederim!
user26832

4

Microsoft'un silinemez dosyaları silme konusunda yararlı bir bilgi tabanı makalesi vardır . Sebep # 4, sizin için önemli

Muhtemelen, bir sürücüyü, bulunduğu dosyanın bulunduğu klasörle eşleştirmek (çözünürlük # 3), daha sonra bu sürücüye girip silmek olabilir.


1
Daha önce hiç kendi sabit diskimdeki bir yere “ağ sürücüsünü eşleyebileceğimi” fark etmemiştim. Windows Gezgini'nde de öyle yaptım. Sürücüye gittikten sonra, klasörü ve içeriği kolayca silebilirim. Yukarıda gösterilen konsol çözümleriyle aynı prensip, ancak bu benim için daha kolay olan hızlı bir GUI çözümüdür.
RandomHandle
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.