Cmd'de basit bir dosya araması nasıl yapılır


131

Windows komut satırından (güç kabuğu değil) adı veya adının bir kısmı verilen bir dosyayı hızlı bir şekilde aramak istiyorum. Bu, gezgini açmaya ve üstteki arama kutusunu kullanmaya benzer.

Not: dirbir dizge şablonuna göre arama yapabilir ancak alt dizinlerde arama yapmaz.

Not2: findstrdosyaların içinde bir belirteci aramak için kullanılabilir ve bir özyineleme bayrağı vardır; Daha karmaşık bir bulgunun kolayca keşfedilebilmesi komik ...


Yanıtlar:


175

dir /s *foo* mevcut klasör ve alt klasörlerde arar.

Dosyaları olduğu kadar dizinleri de bulur.

nerede / s şu anlama gelir (belgeler) :

/ s Belirtilen dosya adının belirtilen dizin ve tüm alt dizinler içindeki her oluşumunu listeler.


Başka bir sorum var, bu bulunan belgeleri başka bir klasöre nasıl kopyalayabilirim? Çok teşekkürler
Hong Cheng

@HongCheng kullanabilirsiniz joker ile Xcopybirlikte çıkış doğruladıktan sonra DIRaynı kullanımı olarak yukarıdaki komuta xcopy *foo* c:\Temptüm bulmak için *foo*dosya ve onları kopya c:\Tempdizinde
Vinod srivastav

128
dir /b/s *.txt  

dizin ağacındaki tüm txt dosyalarını arar. Kullanmadan önce sadece dizini değiştirin kökü kullanılarak

cd/

listeyi bir metin dosyasına da aktarabilirsiniz.

dir /b/s *.exe >> filelist.txt

ve kullanarak içinde ara

type filelist.txt | find /n "filename"

DÜZENLEME 1: Bu dir komutu eski dos günlerinden beri çalışsa da Win7, Where adında yeni bir şey ekledi

where /r c:\Windows *.exe *.dll

arayacaktır exe & dll sürücüsü de \ Windows'un: c @SPottuit önerdiği gibi siz de sahip çıkış panoya kopyalayabilir

where /r c:\Windows *.exe |clip

sadece komut isteminin geri gelmesini bekleyin ve o zamana kadar hiçbir şeyi kopyalamayın.

DÜZENLEME 2: Yinelemeli arama yapıyorsanız ve çıktı büyükse more, sayfalamayı etkinleştirmek için her zaman kullanabilirsiniz -- More --, altta görünecek ve düğmesine bastığınızda SPACEveya basıldığında satır satır hareket ettirdiğinizde sonraki sayfaya kayacaktır.ENTER

where /r c:\Windows *.exe |more

Daha fazla yardım için deneyin

where/?

5
Ayrıca değiştirerek panoya listesi verebilirsiniz >> filelist.txtile | clip.Kullanımı hakkında daha fazla bilgi | klip .
Sjoerd Pottuit

6
Yalnızca dosya adı veya dosya yolunun /barkasına eklenerek dir(birden fazla klasörde arama yapılıyorsa) döndürülür ( b formattır) ve dosya ve klasörün ayrıntıları olmaz. Ekleyerek /sarkasında s ub-dizinleri de aranır. Dir komutu hakkında daha fazla bilgi . dir
Sjoerd Pottuit

Bunun neden kabul edilen cevap olmadığını bilmiyorum. Sahip olan her şeyi ve daha fazlasını içerir. Bunu gönderdiğiniz için teşekkürler. Keşke birden fazla oy verebilseydim!
Avrohom Yisroel

1
sadece cd \ veya cd \ 'nin kök dizine geçmesi beklenirdi, ancak cd / de işi Windows 10'da yapıyor gibi görünüyor - hangi DOS / Windows sürümünün doğru olduğundan emin değil
George Birbilis

1
@Vinod Srivastav, çok güzel. Olası tüm senaryolar açıklandı.
Klanto Aguntuk


0

DIR ile ilgili sorun, yanlış cevaplar vermesidir. Kullanarak bir klasörde DOC arıyorsanız, DIR *.DOCsize DOCX'i de verecektir . Arama *.HTM, HTML'yi de verir ve böyle devam eder ...


2
Bu yüzden amaç olarak WHERE kullanmalıWhere /R c:\ *.DOC *.HTM
Vinod Srivastav

Vinod Srivastav. Şimdi denedim ve vay canına, bu iş harikadır. :) Bunu partilerime uygulayacağım.
Hobbe Lundahl

0

Pencerelerde DOS ve gezgin GUI ile arama yapabilirsiniz.

DOS:

1) DIR

2) ICACLS (ACL'yi ayarlamak için dosya ve klasörleri arar)

3) kasalar ............................................... ...

2) örnek

icacls c: * ntoskrnl *. * / grant system: (f) / c / t, sonra hangi klasörlere erişimin reddedildiğini izlemek için sysinternals'dan PMON kullanın. Sonuç şunları içerir

erişim yolu sürücünüzü içerir

işlem adı explorer.exe

bunlar uygulamanız gereken filtrelerdi

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.