cmd.exe: “del * .txt” ayrıca * .txt1 etc [duplicate] öğesini kaldırır


Yanıtlar:


8

Bu, bazen bilinen bir şeyle karşılaşıyor mu?

Davranış ile ilgili açıklama burada olası bir çalışma ile tamamlandı.

Özet: NTFS'nin kısa (8.3) dosya adlarını işleme biçiminden geliyor, "yeni fangled" uzun dosya adlarını işleyemeyen eski şeylerle uyumluluk için. dir /xkısa dosya adını görüntülemek için bu şekilde kullanılabilir:

C:\>dir /x *~*
 ...
02/25/2011  08:18 AM    <DIR>          DOCUME~1     Documents and Settings
05/28/2011  12:02 AM    <DIR>          PROGRA~1     Program Files
 ...

Üç karakterden uzun olan uzantıların kısa dosya adları için kısaca kısaltılır; böylece .txt1, .txtxtxtxt, .txt_file, vs, tüm haline .txt.


6

Uzantıda 4'ten fazla harf bulunan dosyalar (ve tabii ki diğer kurallar da geçerlidir) kısa bir ad alır, örneğin "foo.txt1" "foo ~ 1.txt" kısa adına sahiptir. DEL(gibi DIRve muhtemelen diğer cmd.exeyerleşik komutların çoğu ) kısa isimlerle de çalışacaktır. İlgili bir konu hakkında bir tartışma için buraya bakınız: http://blogs.msdn.com/b/oldnewthing/archive/2005/07/20/440918.aspx


Benimkinden daha yetkili bir bağlantı için +1.
Jim Davis

2

Bu FAT / VFAT dosya sisteminde olur mu? Öyleyse, 8.3 şemasına uymayan isimleri temsil etmek için kullanılan hackery tarafından ısırılıyorsunuz; DIRGerçek dosya adı ile başlayacak, ancak ~uzantıdan önce bir ve bir numaraya sahip olan karışık kısa adları gösteren bir seçenek var , ardından uzantı 3 karakterle sınırlandırılmış. (Örnek: C:\Program Filesgenellikle şuna çevirir C:\PROGRA~1:) Joker karakter beklenmedik şekilde bu adlarla eşleşebilir. Bu gerektiğini değil NTFS'de gerçekleşmesi veya ağ paylaşımlarında (Sanırım). O DOS hala ölmedi dışında, öyle görünüyor ki ....


2

ForfilesBir geçici çözüm için muhtemelen komutu kullanabilirsiniz.

Örneğin.

Forfiles  -s -m *.txt -c "cmd /C del /q @path"

Sadece txtsonlarla eşleşir.

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.