Filtern Sie Dateien nach Name und Inhalt in Windows 7

701
Queequeg

Vorgehensweise: Filtern von Dateien nach Name und Inhalt in Windows 7?

Ich muss Dateien finden, die bob.xmlrekursiv benannt wurden, und nur die Dateien (in den Suchergebnissen) lassen, die die Phrase enthalten<gold>100</gold>

Kann es unter Windows 7 ohne externe Software ( die ich herunterladen und installieren muss ) gemacht werden?

Die beste Lösung würde nur die Suchabfragen von Windows Explorer verwenden (die Eingabe in der oberen rechten Ecke).

1
Dies wäre leicht von der Kommandozeile aus zu tun: `findstr / s"100"bob.xml" oder mit einem besseren Suchdienstprogramm wie [AstroGrep] (http://superuser.com/a/512391/138343). Möglicherweise ist es * über Windows Search möglich, wenn die XMLs indiziert sind (http : //superuser.com/questions/483492/possible-to-get-windows-8-Suche-to-look-into-files-other-than-txt-and-xml), aber ich bin mir nicht sicher. Windows Suchen Sie [sucks] (http://superuser.com/questions/514331/wie-nach-suche-nur-der-Dateiname- für-a-Unterzeichenfolge-in-fenster] nach [sicher] (http: // superuser). de / fragen / 538670 / how-to-search-in-mehreren-ordnern-in-windows-7)! Karan vor 11 Jahren 0
Aus Interesse, warum der Ausschluss externer Tools? snowdude vor 11 Jahren 0

1 Antwort auf die Frage

3
fussmonkey

Ich bin nicht sicher, welche Einschränkungen Sie bezüglich externer Software haben. Sie können jedoch PowerShell verwenden, die in Win7 enthalten ist. Um es zu öffnen, können Sie einfach "PowerShell" in die Suchleiste "Start" eingeben oder es (denke ich) unter Start> Alle Programme> Zubehör> Windows PowerShell finden.

Dieser Befehlssatz sucht rekursiv nach Dateien mit dem Namen 'bob.xml' und gibt nur die Namen derjenigen zurück, die den Text '100' enthalten.

dir -filter bob.xml -recurse | select-string -pattern '<gold>100</gold>' -list | select-object -unique 'Path'

Wenn Sie diese Ergebnisse in eine Textdatei ausgeben möchten, damit Sie etwas damit tun können, ist dies der Trick.

dir -filter bob.xml -recurse | select-string -pattern '<gold>100</gold>' -list | select-object -unique 'Path' | out-file c:\temp\bob_search.txt

PowerShell ist in Ordnung :) Das funktioniert wunderbar! ** Kann nur mit Windows Explorer gearbeitet werden? ** Queequeg vor 11 Jahren 0
Ich habe keinen Weg gefunden, Windows Explorer dazu zu bringen. Von dem, was ich gelesen habe (siehe [link] (http://answers.microsoft.com/de-de/windows/forum/windows_7-files/how-do-i-add-search-filters/e84f8397-aa0b- 44f3-b8b2-a094a84e7aa0)) Die verfügbaren Filter hängen von der Art der in den Ergebnissen angezeigten Datei (en) ab. Basierend auf den Antworten in dem obigen Link sieht es nicht so aus, als wäre Dateiinhalt eine Option. Das heißt, es könnte einen Weg geben, ich bin einfach nicht damit vertraut. Wie Sie sich vorstellen können, neige ich dazu, PS oder andere externe Tools zu verwenden, wenn ich solche Sachen brauche. Viel Glück! fussmonkey vor 11 Jahren 0