d4rk50u1
Goto Top

in batch text inherhalb markierungen kopieren

batchdatei die den text zwischen 2 markierungen in eine neue datei kopiert

hi, ich habe eine textdatei mit folgendem inhalt:

...text...
:markierung_1
...text...
...text...
:markierung_2
...text...

ist es in batch möglich den text zwischen den beiden markierungen in eine neue datei zu kopieren?

mfg, d4rk

Content-Key: 112669

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

Printed on: April 25, 2024 at 11:04 o'clock

Member: bastla
bastla Mar 30, 2009 at 07:41:26 (UTC)
Goto Top
Hallo dr4rk50u1 und willkommen im Forum!
ist es in batch möglich den text zwischen den beiden markierungen in eine neue datei zu kopieren?
Soferne keine Leerzeilen zu berücksichtigen sind, sollte das so gehen:
@echo off & setlocal
set "Ein=D:\Textdatei.txt"  
set "Aus=D:\Auszug.txt"  
set "Von=:markierung_1"  
set "Bis=:markierung_2"  

set "Write="  
if exist "%Aus%" del "%Aus%"  
for /f "usebackq tokens=1* delims=" %%i in ("%Ein%") do call :ProcessLine "%%i"  
goto :eof

:ProcessLine
echo %~1|findstr /b /c:"%Von%">nul && (set "Write=True" & goto :eof)  
echo %~1|findstr /b /c:"%Bis%">nul && (set "Write=" & goto :eof)  
if not defined Write goto :eof
>>"%Aus%" echo %~1  
goto :eof
Grüße
bastla
Member: d4rk50u1
d4rk50u1 Mar 30, 2009 at 12:49:07 (UTC)
Goto Top
super, funktioniert perfekt....vielen dank für die schnelle hilfe :D

mfg, d4rk
Member: TicoWrite
TicoWrite Aug 22, 2017 at 22:17:39 (UTC)
Goto Top
Hallo da draußen, ich habe ähnliches vor ... leider kopiert er mir nur eine nicht makierte zeile !? was mach ich falsch ??

@echo on & setlocal
color 3

set "Ein=Mothership-Install-Log.txt"  
set "Aus=ID.txt"  
set "Von=%1%"  
set "Bis=%2%"  

set "Write="  
for /f "usebackq tokens=1* delims=" %%i in ("%Ein%") do call :ProcessLine "%%i"  
goto :eof

:ProcessLine
echo %~1|findstr /b /c:"%Von%">nul && (set "Write=True" & goto :eof)  
echo %~1|findstr /b /c:"%Bis%">nul && (set "Write=" & goto :eof)  
>"%Aus%" echo %~1  
goto :eof

@echo off
echo Operation Done...
pause
exit