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-Key: 217469

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

Printed on: April 24, 2024 at 03:04 o'clock

Member: colinardo
colinardo Sep 20, 2013 updated at 11:53:38 (UTC)
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
Member: Mantigul
Mantigul Sep 20, 2013 at 12:06:53 (UTC)
Goto Top
Klingt doch mal Super. face-smile
Member: Bugger
Bugger Sep 20, 2013 at 12:15:14 (UTC)
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