Variable Zahlen aus einer .TXT Datei per Batch, cmd extrahieren
Hallo, alle zusammen!
Also meine Frage ist:
Da ich leider auf dem Gebiet programmieren null Ahnung habe wollte ich euch fragen.
Also ich habe eine .txt Datei, ca. 5 MB groß. Drinnen sind viele verschiedene Wörter, Sonderzeichen und Zahlen und ganz verschieden angeordnet.
Die Zahlen schauen z.B. so aus: 013424245545 zwischen 8 und 12 Zahlen. Beginnen immer mit 01 und enden mit 0 bis 9.
Diese Zahlelreihe würde ich gerne in eine neue .txt Datei extrahieren, da ich sonst manuell wochen brauchen werde.
In der neuen .txt Datei sollen die Zahlen so ausschauen:
0122334554
0144556565
0136365677
usw.
Veleicht kann mir einer mit einer Batch Lösung weiterhelfen.
Vielen Dank!
Also meine Frage ist:
Da ich leider auf dem Gebiet programmieren null Ahnung habe wollte ich euch fragen.
Also ich habe eine .txt Datei, ca. 5 MB groß. Drinnen sind viele verschiedene Wörter, Sonderzeichen und Zahlen und ganz verschieden angeordnet.
Die Zahlen schauen z.B. so aus: 013424245545 zwischen 8 und 12 Zahlen. Beginnen immer mit 01 und enden mit 0 bis 9.
Diese Zahlelreihe würde ich gerne in eine neue .txt Datei extrahieren, da ich sonst manuell wochen brauchen werde.
In der neuen .txt Datei sollen die Zahlen so ausschauen:
0122334554
0144556565
0136365677
usw.
Veleicht kann mir einer mit einer Batch Lösung weiterhelfen.
Vielen Dank!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 144732
Url: https://administrator.de/contentid/144732
Ausgedruckt am: 25.11.2024 um 02:11 Uhr
11 Kommentare
Neuester Kommentar
Hi,
du schreibst ja, dass in der ursprünglichen Datei die Zahlen immer mit 01 beginnen. Wie kommst du dann in deiner fertigen Datei auf 02... und 05....?
Wie genau schaut die Eingangsdatei aus?
Zahlen und Text zusammen in einer Zeile, durch Leerzeichen o.ä. getrennt oder wie?
Gibt es noch andere Zahlen in der Datei, die nicht kopiert werden sollen?
Poste am besten einfach mal ein Beispiel.
Gruß
Nottrott
du schreibst ja, dass in der ursprünglichen Datei die Zahlen immer mit 01 beginnen. Wie kommst du dann in deiner fertigen Datei auf 02... und 05....?
Wie genau schaut die Eingangsdatei aus?
Zahlen und Text zusammen in einer Zeile, durch Leerzeichen o.ä. getrennt oder wie?
Gibt es noch andere Zahlen in der Datei, die nicht kopiert werden sollen?
Poste am besten einfach mal ein Beispiel.
Gruß
Nottrott
Hallo mariogalaxy2 und willkommen im Forum!
Das wäre eher ein Fall für VBS:
Anmerkung zum Suchbegriff ("Pattern"): Es wird nach "01" und 6 bis 10 folgenden Ziffern gesucht.
Grüße
bastla
Das wäre eher ein Fall für VBS:
Quelle = "D:\Datei.txt"
Ziel = "D:\Liste.txt"
Set rE = New RegExp
rE.Global = True
rE.Pattern = "01\d{6,10}"
Set fso = CreateObject("Scripting.FileSystemObject")
Set Liste = fso.CreateTextFile(Ziel)
For Each Match In rE.Execute(fso.OpenTextFile(Quelle).ReadAll)
Liste.WriteLine Match
Next
Liste.Close
Grüße
bastla
Hallo mariogalaxy2
ich kenn mich auch noch nich so aus aber ich würds jetzt mit ner for schleife und findstr machen also in etwa so
PS: Das ist das erste mal das ICH selbst was mit for /f mache, deswegen probiers lieber nicht aus.
Könnte mich einer der Profis berichtigen, wenn ich was falsch gemacht hab(was sicher viel ist)?
MfG Karsten
ich kenn mich auch noch nich so aus aber ich würds jetzt mit ner for schleife und findstr machen also in etwa so
for /f %%x in (findstr /c:"01" "PfadZurDatei\Datei.txt") do echo %%x >ausgabe.txt
PS: Das ist das erste mal das ICH selbst was mit for /f mache, deswegen probiers lieber nicht aus.
Könnte mich einer der Profis berichtigen, wenn ich was falsch gemacht hab(was sicher viel ist)?
MfG Karsten
@kkboy94
[OT 2]
Wenn Du Dir den "Diskussionsverlauf" oben ansiehst, wirst Du bemerken, dass Du auf die Antwort von mariogalaxy2 (auf Nottrotts Kommentar) geantwortet hast, ich aber auf das Eröffnungsposting ...
[/OT 2]
Grüße
bastla
[OT 2]
Müsst ich dann nich nach dier stehn?
Du meinst sicherlich nicht Dich, sondern nur Deinen Kommentar ... Wenn Du Dir den "Diskussionsverlauf" oben ansiehst, wirst Du bemerken, dass Du auf die Antwort von mariogalaxy2 (auf Nottrotts Kommentar) geantwortet hast, ich aber auf das Eröffnungsposting ...
[/OT 2]
Grüße
bastla
Hallo kkboy94!
Abgesehen von den fehlenden Apostrophen und davon, dass "
Kürzer (und ohne den letztgenannten Effekt), aber hier dennoch nicht geeignet, wäre
(und ja, hier genügt dann auch ein einzelnes ">") ...
Grüße
bastla
hab ich eigentlich etwas falsch gemacht bei meiner for schleife?
Das sollte eigentich Dein Test schon ergeben haben ...Abgesehen von den fehlenden Apostrophen und davon, dass "
findstr
" zeilenorientiert arbeitet (was auf Grundlage des geposteten Beispiel-Dateiinhaltes zu interessanten Ergebnissen führen dürfte), würde in Deiner Ergebnisdatei (wegen des einzelnen ">") nur die letzte gefundene Zeile stehen ...Kürzer (und ohne den letztgenannten Effekt), aber hier dennoch nicht geeignet, wäre
findstr /c:"01" "PfadZurDatei\Datei.txt">ausgabe.txt
Grüße
bastla
@kkboy94
[more OT]
Ich hätte mit 16 noch nicht mal diese Schleife zustandegebracht (ok, in den 1970ern gab's auch noch gar kein MS-DOS und schon gar nicht die cmd.exe ) ...
[/more OT]
Grüße
bastla
[more OT]
Ich hätte mit 16 noch nicht mal diese Schleife zustandegebracht (ok, in den 1970ern gab's auch noch gar kein MS-DOS und schon gar nicht die cmd.exe ) ...
[/more OT]
Grüße
bastla