Letzte 300 Zeilen einer Textdatei per Batch einlesen und in eine andere Datei speichern
Hallo!
Ich hoffe ihr könnt mir helfen.
Ich benötige eine Batch-Datei, die eine Text-Datei öffnet, 300 Zeilen, oder 5000 Zeichen herausliest und in eine neue Datei schreibt.
Das eigentliche Problem: Es sollte vom Datei-Ende erfolgen, also die letzten 300 Zeilen bzw. die letzten 5000 Zeichen.
Ev. wäre auch ein VB-Script möglich, welches ich über eine Batch-Datei aufrufen kann.
Vielen Dank!
Grüße,
Sebastian
Ich hoffe ihr könnt mir helfen.
Ich benötige eine Batch-Datei, die eine Text-Datei öffnet, 300 Zeilen, oder 5000 Zeichen herausliest und in eine neue Datei schreibt.
Das eigentliche Problem: Es sollte vom Datei-Ende erfolgen, also die letzten 300 Zeilen bzw. die letzten 5000 Zeichen.
Ev. wäre auch ein VB-Script möglich, welches ich über eine Batch-Datei aufrufen kann.
Vielen Dank!
Grüße,
Sebastian
Please also mark the comments that contributed to the solution of the article
Content-Key: 179473
Url: https://administrator.de/contentid/179473
Printed on: April 24, 2024 at 09:04 o'clock
3 Comments
Latest comment
Das unix-kommando tail macht das:
gibt Dir die letzten 3000 Zeilen der Datei $dateiname aus.
Es gibt verschiedene Portierungen für wndows. einfach nach tail.exe suchen.
lks
PS: Ich verwende für so etwas cygwin, weil da alles beisammen ist.
Nachtrag: In den Resource Kit Tools für W2K3 ist auch eine Version mit dabei. Da mußt Du dann ur so etwas wie
tippen, um das gewünschte Ergebnis zu bekommen.
tail -n 3000 $Dateiname
Es gibt verschiedene Portierungen für wndows. einfach nach tail.exe suchen.
lks
PS: Ich verwende für so etwas cygwin, weil da alles beisammen ist.
Nachtrag: In den Resource Kit Tools für W2K3 ist auch eine Version mit dabei. Da mußt Du dann ur so etwas wie
tail -300 Dateiname >ausgabedatei
Hallo sblaesing und willkommen im Forum!
Per "Batch only" (ungetestet) etwa so:
Wenn es tatsächlich um Zeichen gehen sollte, wäre VBS die bessere Wahl ...
Grüße
bastla
Per "Batch only" (ungetestet) etwa so:
@echo off & setlocal
set "Ein=D:\Datei1.txt"
set "Aus=D:\Datei2.txt"
set /a Anzahl=300
for /f "delims=:" %%i in ('findstr /n "^" "%Ein%"') do set "Zeilen=%%i"
set /a Offset=%Zeilen%-%Anzahl%
if %Offset% lss 0 set /a Offset=0
>"%Aus%" more +%Offset% "%Ein%"
Grüße
bastla