Batch Problem mit Textauslesen
Hallo,
also ich lese aus einer .bat-Datei hiermit
Text aus einer anderen Datei aus und gebe ihn in einer anderen wieder aus.
Folgender text steht so in der ersten Datei aus der gelesen wird:
Allerdings wird nur dieser Text in die 2te Datei geschrieben:
Wo ist der Fehler, oder wie kann ich anders zu dem gleichen Ergebnis kommen?!
DAnke schonmal!
also ich lese aus einer .bat-Datei hiermit
FOR /f %%f IN (%date%_%server%.txt) DO echo %%f >>jour.txt
Text aus einer anderen Datei aus und gebe ihn in einer anderen wieder aus.
Folgender text steht so in der ersten Datei aus der gelesen wird:
S207SQ01,5/30/2005,3:03:07 AM,Begin Operation
S207SQ01,5/30/2005,3:04:25 AM,Begin Backup of 'H:' Verify: Off Mode: Replace Type: Normal
S207SQ01,5/30/2005,3:14:47 AM,End Backup of 'H:' ' The operation was successfully completed.' Verify: Off Mode: Replace Type: Normal Consult the backup report for more details.
S207SQ01,5/30/2005,3:14:51 AM,End Operation: The operation was successfully completed. Consult the backup report for more details.
Allerdings wird nur dieser Text in die 2te Datei geschrieben:
S207SQ01,5/30/2005,3:03:07
S207SQ01,5/30/2005,3:04:25
S207SQ01,5/30/2005,3:14:47
S207SQ01,5/30/2005,3:14:51
Wo ist der Fehler, oder wie kann ich anders zu dem gleichen Ergebnis kommen?!
DAnke schonmal!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 11272
Url: https://administrator.de/contentid/11272
Ausgedruckt am: 23.11.2024 um 04:11 Uhr
4 Kommentare
Neuester Kommentar
Moin, FlashGordon,
Problem ist lediglich, dass der FOR-Befehl als erstes Token (bei Dir %%f ) alles VOR dem ersten Leerzeichen annimmt.
Also musst Du dem For-Befehl halt sagen, dass die Tokens in einer Zeile nicht durch den Standard (Leerzeichen und Tabs) getrennt werden sollen, sondern gar nicht
bzw. durch ein Zeichen, dass es im Logfile "eigentlich" nicht geben sollte.
Ich habe mal ein "§" angenommen (sollte nicht vorkommen).
Dann erhältst Du das gewünschte Verhalten
"delims=§" sollte also in Deinen Einzeiler:
FOR /f "delims=§" %%f IN (%date%_%server%.txt) DO echo %%f
Fertig
Frank / der Biber aus Bremen
Problem ist lediglich, dass der FOR-Befehl als erstes Token (bei Dir %%f ) alles VOR dem ersten Leerzeichen annimmt.
Also musst Du dem For-Befehl halt sagen, dass die Tokens in einer Zeile nicht durch den Standard (Leerzeichen und Tabs) getrennt werden sollen, sondern gar nicht
bzw. durch ein Zeichen, dass es im Logfile "eigentlich" nicht geben sollte.
Ich habe mal ein "§" angenommen (sollte nicht vorkommen).
Dann erhältst Du das gewünschte Verhalten
"delims=§" sollte also in Deinen Einzeiler:
FOR /f "delims=§" %%f IN (%date%_%server%.txt) DO echo %%f
Fertig
Frank / der Biber aus Bremen