Letzten 50 Zeilen einer TXT auslesen und neue TXT uploaden
Hallo zusammen,
ich habe eine Logfile.txt in der etwa 3000 Zeilen enthalten sind. Jede Zeile sieht folgendermaßen aus:
Logfile.txt:
"2007-06-17 yanu_bigstar by alpha-1"
Jetzt möchte ich eine neue "Short_Logfile.txt" erstellen die nur die letzten 50 Einträge der Logfile.txt enthält.
Diese möchte ich dann auf einen anderen FTP hochladen.
Bis jetzt habe ich folgendes (es wird nur die Datei auf den FTP kopiert, aber nicht bearbeitet):
upload1.txt:
Username@clancid.com
password
mput Logfile.txt
bye
pao.batch
ftp -i -s:upload1.txt clancid.com
Kann mir da jemand weiterhelfen?
Gleich vorne weg, ich habe noch kaum Erfahrung mit batch Dateien
Danke schonmal
Daniel
ich habe eine Logfile.txt in der etwa 3000 Zeilen enthalten sind. Jede Zeile sieht folgendermaßen aus:
Logfile.txt:
"2007-06-17 yanu_bigstar by alpha-1"
Jetzt möchte ich eine neue "Short_Logfile.txt" erstellen die nur die letzten 50 Einträge der Logfile.txt enthält.
Diese möchte ich dann auf einen anderen FTP hochladen.
Bis jetzt habe ich folgendes (es wird nur die Datei auf den FTP kopiert, aber nicht bearbeitet):
upload1.txt:
Username@clancid.com
password
mput Logfile.txt
bye
pao.batch
ftp -i -s:upload1.txt clancid.com
Kann mir da jemand weiterhelfen?
Gleich vorne weg, ich habe noch kaum Erfahrung mit batch Dateien
Danke schonmal
Daniel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 61602
Url: https://administrator.de/forum/letzten-50-zeilen-einer-txt-auslesen-und-neue-txt-uploaden-61602.html
Ausgedruckt am: 18.05.2025 um 21:05 Uhr
4 Kommentare
Neuester Kommentar
Moin DanielS,
willkommen in Forum.
Ich würde folgende Zeilen in Deine Batchdatei einschieben (oder in einem separaten Schritt machen):
Dein Gesamtgewusel müsste dann sinngemäß so aussehen:
So kannst Du das frisch erzeugte ShortLogFile.txt anstelle des LogFiles hochschicken.
Vor "LogFile.txt" bzw. "ShortLogFile.txt" musst Du ggf. noch einen Pfad ergänzen.
Soll ja nur eine Skizze sein und ist wie immer ungetestet.
Grüße
Biber
[Edit] Habe den von bastla (THX!) behobenenen Tippfehler im Source ausgebessert.
Also nicht über die folgenden Kommentare wundern. Ich hatte oben fehlerhaft gepostet:
... for /f "delims=:" %%i in ('findstr /n . Logfile.txt) do set /a "max=%%i"
[/Edit]
willkommen in Forum.
Ich würde folgende Zeilen in Deine Batchdatei einschieben (oder in einem separaten Schritt machen):
:: -----snipp MakeALastLinesLog.bat
@echo off & Setlocal
for /f "delims=:" %%i in ('findstr /n . Logfile.txt') do set /a "max=%%i"
:: Jetzt ist %max% z.B. = 3000
Set /a max=max - 50
:: Jetzt ist %max% z.B. = 2950... und diese 2950 Zeilen überspringen wir
More +%Max% LogFile.txt >ShortLogFile.txt
:: -----snapp MakeALastLinesLog.bat
Dein Gesamtgewusel müsste dann sinngemäß so aussehen:
---upload1.txt:
Username@clancid.com
password
mput ShortLogfile.txt
bye
::-----pao.batch
Call <i>Lw:\pfad\</i>MakeALastLinesLog.bat
:: ...oder statt des CALLs den Schnipsel von oben hier rein setzen..
ftp -i -s:upload1.txt clancid.com
So kannst Du das frisch erzeugte ShortLogFile.txt anstelle des LogFiles hochschicken.
Vor "LogFile.txt" bzw. "ShortLogFile.txt" musst Du ggf. noch einen Pfad ergänzen.
Soll ja nur eine Skizze sein und ist wie immer ungetestet.
Grüße
Biber
[Edit] Habe den von bastla (THX!) behobenenen Tippfehler im Source ausgebessert.
Also nicht über die folgenden Kommentare wundern. Ich hatte oben fehlerhaft gepostet:
... for /f "delims=:" %%i in ('findstr /n . Logfile.txt) do set /a "max=%%i"
[/Edit]