2016-04-20 4 views
2

(Plattform: Win7) Ich bin in der Lage, die Ausgabe von was "findstr" Befehl finden Sie direkt zu speichern.Wie benutze ich cmd um String und die Ausgabe von findstr zusammen zu speichern?

findstr /S /N "#ifdef" *.cpp >D:\Test\123.txt 

und die Ausgabe sieht wie folgt aus:

dealloc.cpp: 3: #ifdef 1

Aber ich kann einfach nicht, um es wie

im Format machen Speichern

Dateiname: dealloc.cpp Zeile: 3

Wie füge ich die Zeichenkette "Dateiname:" vor der Datei, die durch den Befehl findstr gefunden wird, hinzu und füge die Zeichenkette "line" vor dieser Zahl hinzu? Vielen Dank im Voraus!

+0

Installieren Sie ein geeignetes Werkzeug wie 'grep' oder' awk'. –

Antwort

4

Wenn das, was Sie wollen Sie die Umleitung in der zweiten Zeile hinzufügen:

for /f "tokens=1,2 delims=:" %%a in ('findstr /S /N "#ifdef" *.cpp') do (
    (echo(file name:%%a line:%%b) 
) 
+2

Dies muss angepasst werden, wenn der angegebene Suchpfad den Laufwerkbuchstaben aufgrund des zusätzlichen ':' enthält – dbenham