Ich möchte mit einer Batch-Datei in der Lage sein, die Dateien in einer Reihe von Ordnern namens "error" zu suchen und anzuzeigen, die sich an einer Reihe verschiedener Stellen befinden.
Der Fehlerordner befindet sich immer in derselben Ordnertiefe, die Namen der Ordner vor ihnen sind jedoch unterschiedlich.
dir /A-d /b C:\Temp\*random_folder_name*\*random_folder_name*\error
Kann ich also eine Zeile erstellen, in der alle Dateien in allen Fehlerordnern angezeigt werden, zwei Ordner "unter", in diesem Beispiel "C: \ Temp"? oder muss ich für jeden Fehlerordner eine dir-Zeile hinzufügen?
(
.)
.{
, und}
?Hier ist eine relativ einfache, aber ineffiziente Lösung, die FINDSTR mit einem regulären Ausdruck verwendet. ich benutze
[\\]
passen\
wegen einer Inkonsistenz unter Vista.Hier ist eine kompliziertere, aber sehr effiziente Lösung mit mehreren FOR-Anweisungen.
quelle
Windows hat integrierte Alternativen zu grep:
find
undfindstr
.findstr
unterstützt einen regulären Ausdruck (Sie können weitere Informationen erhalten, indem Sie eingebenhelp findstr
), aber Sie werden durch die Ausgabe vondir
was scheinbar keine relativen Listen unterstützt ...quelle
.*
kann beliebig viele \ sein