
132749
11.06.2018
Fehler beim auslesen und neu speichern per Batch
Hallo,
ich habe da ein Phänomen was für mich nicht verständlich ist aber vielleicht schaut mal jemand rüber!
1. Nachdem loaden einer LOG Datei sollte die Batch die LOG auslesen und NEU speichern.
Hier ist mir aufgefallen, dass der LOG Inhalt nicht gleich der Name ist wie gewünscht!
Beispiel:
- Die LOG die geloadet wurde enthält die Zahl 960
- Nachdem ausführen der Batch enthält die LOG die Zahl 00960 und der LOG Name lautet 60 .log! Wo ist die 9 geblieben und warum habe ich eine Leerzeile?
2. Erstelle ich manuell die LOG Datei und lasse die Batch laufen dann stimmt das Ergebnis! Hmm, wo liegt der Hund begraben?
ich habe da ein Phänomen was für mich nicht verständlich ist aber vielleicht schaut mal jemand rüber!
set /p "myName="<C:\myName.log
set "myName=00%myName%"
>>"C:\%myName:~-3%.log" echo(%myName%
1. Nachdem loaden einer LOG Datei sollte die Batch die LOG auslesen und NEU speichern.
Hier ist mir aufgefallen, dass der LOG Inhalt nicht gleich der Name ist wie gewünscht!
Beispiel:
- Die LOG die geloadet wurde enthält die Zahl 960
- Nachdem ausführen der Batch enthält die LOG die Zahl 00960 und der LOG Name lautet 60 .log! Wo ist die 9 geblieben und warum habe ich eine Leerzeile?
2. Erstelle ich manuell die LOG Datei und lasse die Batch laufen dann stimmt das Ergebnis! Hmm, wo liegt der Hund begraben?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 376733
Url: https://administrator.de/forum/fehler-beim-auslesen-und-neu-speichern-per-batch-376733.html
Ausgedruckt am: 23.04.2025 um 01:04 Uhr
3 Kommentare
Neuester Kommentar
Falls du nur eine Zeile in der Datei hast, dann gleich per FOR /F
Anderenfalls liest du die erste Zeile wie gehabt mit SET /P und gehst anschließend mit der Schleife drüber
oder (sofern keine vorangestellten Nullen vorhanden sein können) nutze SET /A
Steffen
for /f "usebackq" %%i in ("C:\myName.log") do set "myName=%%i"
Anderenfalls liest du die erste Zeile wie gehabt mit SET /P und gehst anschließend mit der Schleife drüber
for /f %%i in ("%myName%") do set "myName=%%i"
oder (sofern keine vorangestellten Nullen vorhanden sein können) nutze SET /A
set /a "myName=myName"
Steffen