Windows komut satırında DIR komutunu kullanarak belirli bir uzantıdaki dosyaları dışlama


20

i sadece dir listeleme kullanarak belirli bir uzantı örneğin dosyaları görmek istiyorsanız, ben komutunu kullanarak yapabilirsiniz:

DIR *.txt 

Ve .txtuzantısı olan tüm dosyaları gösterir .
Şimdi belirli uzantıları hariç tutabilecek herhangi bir komut olduğunu bilmek istiyorum?
Örneğin, uzantılı herhangi bir dosyayı görmek istemiyorum .exe, bunu nasıl yapabilirim?

Yanıtlar:


27

DIR yapmaya çalıştığınız şeye izin vermeyecek. Ancak DIR ve FINDSTR bunu çözebilir.

Örneğin, DIR listesindeki tüm .txt dosyalarını yok sayar.

dir | findstr /v /i "\.txt$" 

2
kullanmak isteyebilirsiniz, dir /b | findstr /v /i "\.txt$"çünkü dirüstbilgiyi çıktılar ve olası yanlış dosya ve klasörler sonunda sayılır
phuclv

Neden findstrbitti find?
Sopalajo de Arrierez

Find metni aramak ve findstr ifadelerini desteklediğinden Findstr. Sadece tam bir dize aramak istiyorsanız bulmak da iyi çalışır.
Bilinmiyor

8
dir /B | find /V ".txt"

Bu, tüm dosyaları listeler ve find ".txt" içermeyen her şeyi filtreler. Mükemmel olmaktan uzak, ama belki yeter :)


Gerek yok /B, söyleyebilirim, ama 'findstr' (gerçek kabul edilen) ihtiyacını görmediğim sürece bu cevabı tercih ederim.
Sopalajo de Arrierez

3

Bu, komut yorumcunuza bağlıdır.

Microsoft'un cmdböyle bir tesisi yok, birinin çıktısını sonradan işlemek zorunda olduğu diğer cevaplardan da görebilirsiniz dir. JP Software'in TCC / LE'si bunu yapar. Buna dosya hariç tutma aralığı denir ve sorunuzdaki örnek için şu şekilde kullanılır:

dir /[!*.exe] *


Teşekkür ederim, ancak bu aracın bağımsız bir program olarak çalıştığını düşünüyorum. Ben ubuntu içinde windows kabuk veya bash kullanarak harici işlem çalıştırmak benim uygulama yapıyorum, bu yüzden bu araç sığmaz, Eğer cmd hat anahtarları sağlarsa o zaman yararlı olacaktır.
Johnydep

1
Açıkça aforegiven olan bir komut satırı anahtarı. Köprü bağlantılı belgeleri okuyun. Tabii ki, çoğu programlama dilinde, dizin içeriğini elde etmek için kabuğu kullanma uzunluğuna gitmek oldukça aptalca ve uygulamaları yazmak için yanlış StackExchange'te bulunuyorsunuz.
JdeBP

açıklama için teşekkürler, bu doğru ama Elevation gerektiren bu dizinleri taramak için bir çözüm ve ben daha yüksek ayrıcalık gerektirmeden cmd isteminden sonuçlar alabilirsiniz zaman kod tetik UAC istemi yapmak istemiyorum.
Johnydep
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.