sinalko
Goto Top

Batch: Inhalt zwischen Zeilennummer x bis y in eine weitere Text Datei speichern

Hallo zusammen,

ich suche seit Stunden nach einer Lösung für mein Problem und benötige jetzt eure Unterstützung 😊
Ich möchte mit einer Batch Datei eine Text Datei auslesen und den Inhalt zwischen Zeilennummer x bis y in eine weitere Text Datei speichern.

Bist jetzt habe ich es nur geschafft ab der Zeile x (in meinem Bespiel ab Zeile 10) den Inhalt zu kopieren.

@echo off & setlocal
set "dateiIN=LOG.txt"
set "dateiOUT=LOG_NEU.txt"
for /f "tokens=1,1 delims=:" %%a in ('findstr /rn "^" "%dateiIN%"') DO set /a skip=10
more /e +%skip% "%dateiIN%">"%dateiOUT%"

Hat jemand ein Lösungsvorschlag?

Vielen Dank schon vorab!
Gruß

Content-ID: 549219

Url: https://administrator.de/contentid/549219

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

142970
Lösung 142970 19.02.2020 aktualisiert um 17:05:52 Uhr
Goto Top
@echo off &setlocal
set "fileIN=log.txt"  
set "fileOUT=log_neu.txt"  
set startline=2
set endline=6
>"%fileOUT%" (for /f "tokens=1,* delims=:" %%a in ('findstr /nr "^" "%fileIN%"') do if %%a GEQ %startline% if %%a LEQ %endline% echo.%%b)  
Sinalko
Sinalko 19.02.2020 um 17:38:32 Uhr
Goto Top
Hallo soccer,
Vielen Dank!
Deine Lösung funktioniert wunderbar.
Gruß
Metzger-MCP
Metzger-MCP 19.02.2020 aktualisiert um 17:41:16 Uhr
Goto Top
Mahlzeit,
wenn man die Flexibilität der Batch steigern möchte, kann man auch die Batch ( x.bat ) mit x.bat Anfang Ende Quelle Ziel -> x.bat 5 10 a.txt b.txt
aufrufen.

Nehme die Datei a.txt und füge die Zeilen 5 bis 10 in Datei b.txt ein.

x.bat Inhalt
@echo off &setlocal
for /f "tokens=1,* delims=:" %%a in ('findstr /nr "^" "%3"') do if %%a GEQ %1 if %%a LEQ %2 echo. %%b >> %4

MFG Uwe