Wert in einer TXT Datei suchen
Hallo Leute Ich habe ein Problem
Ich habe mir von meiner Seite alle URLs in einer TXT gespeichert (30.000 Zeilen). Die Datei besteht aus 5 Spalten und ist Tabstopp getrennt.
Alles was ich brauche ist ein batch Script das mir aus der ersten Spalte alle URLs in eine neue Datei speichert die in der URL ein /user/ haben.
Kann mir jemand helfen??? Ich habe von batch keine Ahnung ein Freund meinte nur damit müßte sowas gehen.
DANKE
Nolle
Ich habe mir von meiner Seite alle URLs in einer TXT gespeichert (30.000 Zeilen). Die Datei besteht aus 5 Spalten und ist Tabstopp getrennt.
Alles was ich brauche ist ein batch Script das mir aus der ersten Spalte alle URLs in eine neue Datei speichert die in der URL ein /user/ haben.
Kann mir jemand helfen??? Ich habe von batch keine Ahnung ein Freund meinte nur damit müßte sowas gehen.
DANKE
Nolle
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 311017
Url: https://administrator.de/contentid/311017
Ausgedruckt am: 24.11.2024 um 06:11 Uhr
11 Kommentare
Neuester Kommentar
Hallo
Hab's mal getestet mit einer Datei test.txt mit diesem Inhalt
Eine batch-Datei mit dieser Zeile
führt zu diesem Inhalt in der Datei ausgabe.txt
Gruß
Martin
Hab's mal getestet mit einer Datei test.txt mit diesem Inhalt
dsflkl l/user/ kklkm mkmk bhbh kjnk+
kmlkmlks kmlkmlkm m kjkl kjlkj buhbjhb
/user/klkml lkm zt rt tctc
Eine batch-Datei mit dieser Zeile
for /F "tokens=1 delims= " %%i in (test.txt) do echo %%i | find "/user/" && echo %%i >> ausgabe.txt
führt zu diesem Inhalt in der Datei ausgabe.txt
dsflkl l/user/
/user/klkml
Gruß
Martin
Moin nolle99,
in der FOR /F-Anweisung sind keine Wildcards erlaubt.
Da musst du um die vorhandene FOR/F-Anweisung noch eine weitere FOR-Anweisung drumwickeln
Sinngemäß:
Wie gesagt, sinngemäß.
Wenn diu mehrere Dateien verarbeitest, willst du möglicherweise in deiner Datei Ausgabe.txt nicht nur den gefundenen Suchstring, sondern auch die enthaltende Datei mit tracken. Dann musst du den
Oder du nimmst statt der äußeren FOR-Anweisung lieber erstmal eine
So oder so brauchst du aber für die FOR /F-Anweisung irgendein Konstrukt, welches dir die Dateinamen einzeln und zeilenweise als Input liefert.
Grüße
Biber
in der FOR /F-Anweisung sind keine Wildcards erlaubt.
Da musst du um die vorhandene FOR/F-Anweisung noch eine weitere FOR-Anweisung drumwickeln
Sinngemäß:
FOR /F %%a in (D:\Ein\Pfad\*.txt) DO (
for /F "tokens=1 delims= " %%i in ("%%a") do echo %%i | find "/user/" && echo %%i >> ausgabe.txt
)
Wenn diu mehrere Dateien verarbeitest, willst du möglicherweise in deiner Datei Ausgabe.txt nicht nur den gefundenen Suchstring, sondern auch die enthaltende Datei mit tracken. Dann musst du den
echo
-Teile anpassen/ergänzen.Oder du nimmst statt der äußeren FOR-Anweisung lieber erstmal eine
FindStr /M
-Anweisung, die dir die Namen aller Dateien liefert, die den Suchstring "/user/" enthalten.So oder so brauchst du aber für die FOR /F-Anweisung irgendein Konstrukt, welches dir die Dateinamen einzeln und zeilenweise als Input liefert.
Grüße
Biber
Hi,
or for all files in a folder
Regards
Zitat von @nolle99:
coole Sache werde ich gleich zuhause ausprobieren. Kannst du mir sagen wie ich generell einfach solte txt dateien zusammenfügen kann. Also einfach alle Spalten von datei32343.txt sowie datei34314124.txt etc???
coole Sache werde ich gleich zuhause ausprobieren. Kannst du mir sagen wie ich generell einfach solte txt dateien zusammenfügen kann. Also einfach alle Spalten von datei32343.txt sowie datei34314124.txt etc???
copy datei32343.txt + datei34314124.txt merged.txt
copy *.txt merged.txt
Regards
No that's not correct, see the second example above *.txt
Because the /F in the first for loop is wrong
for %%a in ("D:\Ein\Pfad\*.txt") DO (
for /F "usebackq tokens=1 delims= " %%i in ("%%~a") do (
>>ausgabe.txt (echo %%i | find "/user/" && echo %%i)
)
)