So führen Sie eine einfache Dateisuche in cmd durch

131

Ich möchte schnell über die Windows-Befehlszeile (nicht über die Power Shell) nach einer Datei suchen, die ihren Namen oder einen Teil ihres Namens hat. Dies ähnelt dem Öffnen des Explorers und dem Verwenden des Suchfelds oben.

Hinweis: dirKann anhand einer Zeichenfolgenvorlage suchen, sucht jedoch nicht in den Unterverzeichnissen.

Hinweis 2: findstrKann zur Suche nach einem Token in Dateien verwendet werden und verfügt über ein Rekursivitätsflag. Es ist lustig, dass ein komplexerer Fund leicht entdeckt werden kann ...

Bogdan Gavril MSFT
quelle
Mögliches Duplikat von superuser.com/questions/177234/…
behandeln

Antworten:

175

dir /s *foo* sucht in aktuellen Ordnern und Unterordnern.

Es findet sowohl Verzeichnisse als auch Dateien.

wo / s bedeutet (Dokumentation) :

/ s Listet jedes Vorkommen des angegebenen Dateinamens im angegebenen Verzeichnis und in allen Unterverzeichnissen auf.

Gilles Arcas
quelle
Ich habe noch eine Frage, wie man diese gefundenen Dokumente in einen anderen Ordner kopiert. Vielen Dank
Hong Cheng
@HongCheng Sie verwenden Platzhalter mit Xcopynach der Ausgabe mit der Überprüfung der DIRBefehl über die Nutzung der gleiche wie xcopy *foo* c:\Tempalle , die zu finden , *foo*Dateien und kopieren Sie sie in c:\TempVerzeichnis
Vinod Srivastav
128
dir /b/s *.txt  

sucht nach allen txt-Dateien im Verzeichnisbaum. Bevor Sie es verwenden, ändern Sie einfach das Verzeichnis in root mit

cd/

Sie können die Liste auch mit in eine Textdatei exportieren

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

und suchen innerhalb mit

type filelist.txt | find /n "filename"

EDIT 1: Obwohl dieser dir- Befehl seit den alten Tagen funktioniert, hat Win7 etwas Neues namens Where hinzugefügt

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

für sucht exe & dll im Laufwerk c: \ Windows wie @SPottuit vorgeschlagen , dass Sie auch die Ausgabe in die Zwischenablage kopieren können mit

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

Warten Sie einfach, bis die Eingabeaufforderung zurückkehrt, und kopieren Sie bis dahin nichts.

BEARBEITEN 2: Wenn Sie rekursiv suchen und die Ausgabe groß ist, können Sie immer moredas Paging aktivieren. Sie wird -- More --unten angezeigt und blättert zur nächsten Seite, sobald Sie drücken SPACEoder beim Drücken Zeile für Zeile verschiebenENTER

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

Für weitere Hilfe versuchen Sie es

where/?
Vinod Srivastav
quelle
5
Sie können auch die Liste in die Zwischenablage exportieren , indem Sie ersetzen >> filelist.txtmit | clip. Weitere Informationen zur Verwendung von | Clip .
Sjoerd Pottuit
6
Durch die Zugabe von /bhinten dirnur die Dateinamen oder Dateipfad (wenn Suche in mehreren Ordnern) zurückgegeben ( b ist Format) und keine Details der Datei und Ordner. Durch die Zugabe von /shinter dirdem s ub-Verzeichnisse werden auch durchsucht werden. Weitere Informationen zum Befehl dir .
Sjoerd Pottuit
Ich weiß nicht, warum dies nicht die akzeptierte Antwort ist. Enthält alles, was hat und vieles mehr. Vielen Dank für die Veröffentlichung. Ich wünschte, ich könnte mehr als einmal abstimmen!
Avrohom Yisroel
1
man würde erwarten, dass nur cd \ oder cd \ in das Stammverzeichnis wechseln würde, aber es scheint, dass cd / auch den Job unter Windows 10 macht - nicht sicher, seit welcher DOS / Windows-Version dies wahr ist
George Birbilis
1
@ Vinod Srivastav, sehr nett. Alle möglichen Szenarien erklärt.
Klanto Aguntuk
2

dir *.txt /s /p wird detailliertere Informationen geben.

Mullai Nathan
quelle
1
Welche Details? /pwird pausieren und es ist das gleiche wiewhere /r c:\Windows *.exe /T |more
Vinod Srivastav
0

Das Problem mit DIR ist, dass es falsche Antworten zurückgibt. Wenn Sie nach DOC in einem Ordner suchen, indem DIR *.DOCSie ihn verwenden, erhalten Sie auch den DOCX . Wenn Sie nach *.HTMsuchen, erhalten Sie auch HTML und so weiter ...

Hobbe Lundahl
quelle
2
Deshalb sollte man WHERE als Where /R c:\ *.DOC *.HTMZweck verwenden
Vinod Srivastav
Vinod Srivastav. Ich habe es jetzt versucht und wow, diese Arbeit wundert sich. :) Ich werde dies in meine Stapel implementieren.
Hobbe Lundahl
0

Sie können in Windows nach DOS und Explorer-GUI suchen.

DOS:

1) DIR

2) ICACLS (sucht nach Dateien und Ordnern, um ACL darauf zu setzen)

3) cacls ............................................... ...

2) Beispiel

icacls c: * ntoskrnl *. * / grant system: (f) / c / t, verwenden Sie dann PMON von sysinternals, um zu überwachen, welchen Ordnern der Zugriff verweigert wird. Das Ergebnis enthält

Der Zugriffspfad enthält Ihr Laufwerk

Prozessname ist explorer.exe

Das waren Filter, die Sie anwenden müssen

Ali
quelle