2016-07-22 34 views
0

Ich habe ca. 1000 txt.files mit vielen Daten wie E-Mail-Adressen, Name, Postleitzahl, Dienste ... In diesem Ordner: C: \ Users \ dupont \ Documents \ test Ich möchte alle E-Mail-Adressen und nur E-Mail-Adressen für diesen Ordner extrahieren und es eine andere TXT-Datei kopieren.E-Mail-Adressen aus mehreren Dateien extrahieren mit Windows CMD

So habe ich eine .bat wie die E-Mail-Adressen zu extrahieren:

findstr @ C:\Users\dupont\Documents\test\ad.txt >C:\Users\dupont\Documents\test\results.txt 
pause 

Das Problem ist, dass es extrahiert alle die Linie Außerdem weiß ich nicht, wie man auf dem Befehl fragen, zu begrenzen die Suche der Zeichenfolge mit '@' zu einem Leerzeichen, Tab, Wagenrücklauf In der Tat muss der Befehl mit @, das Wort vor @ (bis Leerzeichen) und das Wort nach @ (bis das Leerzeichen

Danke für Ihre Hilfe Schönen Tag noch

Antwort

0

Für jede Textdatei (%%f) nacheinander jede Zeile (%%a) verarbeiten. Teilen Sie die Linie in Elemente (%%b) durch Leerzeichen (Standard delimters sind Raum und TAB) und wenn das Element eine @ enthält, ausdrucken:

@echo off 
for %%f in (*.txt) do (
    for /f "tokens=*" %%a in (%%f) do (
    for %%b in (%%a) do (
     echo %%b|find "@" 
    ) 
) 
) 
+0

Vielen Dank Stephan war es genau das, was ich brauchte :) – user6624457