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-ID: 112669

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

Ausgedruckt am: 24.11.2024 um 12:11 Uhr

bastla
bastla 30.03.2009 um 09:41:26 Uhr
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
d4rk50u1
d4rk50u1 30.03.2009 um 14:49:07 Uhr
Goto Top
super, funktioniert perfekt....vielen dank für die schnelle hilfe :D

mfg, d4rk
TicoWrite
TicoWrite 23.08.2017 um 00:17:39 Uhr
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