bugger
Goto Top

Einzelne Textzeile per Batch ändern

Hallo,

ich versuche jetzt seit längerem eine Lösung dafür zu finden, habe aber leider noch nichts gefunden das funktioniert.

Ich habe folgende Untertitel Datei im .ass Format:
[Script Info]
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,16,&Hffffff,&Hffffff,&H0,&H0,0,0,0,1,1,0,2,10,10,10,0,0

[Events]
Format: Layer, Start, End, Style, Text

Und dort möchte ich die komplette 6te Zeile ersetzen mit
Style: Default,Arial Negreta,26,&H00FFFFFF,&HFFFFFFFF,&HFFFFFFFF,&H00000000,-1,0,0,0,100,100,0,0.00,1,2,2,2,30,30,1,1

Da das zu einer größeren batch Datei gehört und noch Befehle davor und danach kommen muss es eine Batch basierte Lösung sein.
Ich hoffe, das geht irgendwie face-smile Vielen Dank im Voraus.

Content-ID: 217469

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

Ausgedruckt am: 11.12.2024 um 21:12 Uhr

colinardo
colinardo 20.09.2013 aktualisiert um 13:53:38 Uhr
Goto Top
Hallo Bugger, Willkommen im Forum!
z.B. so
@echo off & setlocal
set "eingabe=untertitel.ass"  
set "ausgabe=untertitel2.ass"  
for /f "tokens=1* delims=]" %%k IN ('type "%eingabe%" ^| find /n /v ""') DO @(  
	if "%%k" == "[6" (   
		echo Style: Default,Arial Negreta,26,^&H00FFFFFF,^&HFFFFFFFF,^&HFFFFFFFF,^&H00000000,-1,0,0,0,100,100,0,0.00,1,2,2,2,30,30,1,1 >>%ausgabe%
	) else (
		if "%%l" == "" (echo.>>%ausgabe%) else (echo %%l>>%ausgabe%)  
	)
)
Grüße Uwe
Mantigul
Mantigul 20.09.2013 um 14:06:53 Uhr
Goto Top
Klingt doch mal Super. face-smile
Bugger
Bugger 20.09.2013 um 14:15:14 Uhr
Goto Top
Super, vielen Dank! Funktioniert auf Anhieb und genauso wie es sein sollte face-smile

Ich habe noch move /y "%ausgabe%" "%eingabe%" ans Ende gesetzt, dann wird die Datei gleich ersetzt face-smile

Nochmals danke, auch das es so schnell ging face-smile