Mittels Batch bst. String enthaltende Dateien aus UnterVZ holen

Hallo,
ich möchte aus einem Verzeichnis diejenigen Textdateien herauskopieren, welche einen bestimmten String enthalten. Soweit kein Problem.
Es klappt, so lange es keine Unterverzeichnisse gibt.
Wie bekomme ich es aber hin, dass auch die Unterverzeichnisse mit durchsucht werden und entsprechende Dateien in das neue Verzeichnis kopiert werden?

Mein Code:
Code:
@echo off
md "zzznew" 2>nul
for /F "delims=" %%a in ('findstr "TestString" *.*' ) do xcopy "%%a" "zzznew\" 2>nul

Ich habe versucht, "dir /s /b" vor 'findstr' zu packen. Alternativ mit einer IF-Anweisung innerhalb der for-schleife getestet... Es klappt einfach nicht und ich finde auch nichts, wie ich diese beiden Anforderungen zusammenpacken kann.

Danke für Hilfe
Grüße
M.
 
Ich habe versucht, "dir /s /b" vor 'findstr' zu packen.

Wie hast du das denn versucht? Einfach sinnlos davor ist nämlich falsch, denn im Prinzip willst du ja die Ausgabe von "dir /s /b" mit Hilfe von "findstr" filtern.
Code:
dir /s /b | findstr "TestString"
funktioniert bei mir hervorragend.
 
Wie hast du das denn versucht? Einfach sinnlos davor ist nämlich falsch, denn im Prinzip willst du ja die Ausgabe von "dir /s /b" mit Hilfe von "findstr" filtern.
Code:
dir /s /b | findstr "TestString"
funktioniert bei mir hervorragend.

Hallo, sorry für die späte Antwort.

Ich habe versucht die oben bereits gepostete Zeile 3 in meinem Code so zu erweitern:
Code:
for /f "delims=:" %%a in ('dir /s /b | findstr "testString" "*.*"') do xcopy "%%a" "zzznew\" 2>nul
Leider führt dies zu keinem Erfolg. Kann mir bitte jemand einen Tipp geben, wo der Fehler liegt?
 
Code:
FOR /R . %x IN (*.txt) DO findstr teststring %x && echo copy %x somedir
in einer batch natürlich %% statt %
 
Zurück
Oben