StringLänge einer Variable durch Variable kürzen
Hallo Batchler,
ich habe folgendes Problem:
eine Variable, nenne wir sie %code% soll durch eine andere, nennen wir sie %LenSet% in der Länge gekürzt werden.
Code hat etwa folgenden Inhalt:
" -s 720x432 -vf crop=720:432:0:72 -aspect 16:9 -c:a copy -map 0:0 -map 0:1 "
und soll nun durch LenSet um 19 gekürzt werden, so dass das heraus kommt:
" -s 720x432 -vf crop=720:432:0:72 -aspect 16:9 -c:a copy "
bringt leider nicht das gewünschte Ergebnis.
Dass der Inhalt von %code% und %LenSet% verschieden sind, erwähne ich nur der Vollständigkeit halber.
Danke im Voraus für die Mithilfe.
max5moritz
ich habe folgendes Problem:
eine Variable, nenne wir sie %code% soll durch eine andere, nennen wir sie %LenSet% in der Länge gekürzt werden.
Code hat etwa folgenden Inhalt:
" -s 720x432 -vf crop=720:432:0:72 -aspect 16:9 -c:a copy -map 0:0 -map 0:1 "
und soll nun durch LenSet um 19 gekürzt werden, so dass das heraus kommt:
" -s 720x432 -vf crop=720:432:0:72 -aspect 16:9 -c:a copy "
set "newCode=%%code:~0,-%LenSet%%%"
bringt leider nicht das gewünschte Ergebnis.
Dass der Inhalt von %code% und %LenSet% verschieden sind, erwähne ich nur der Vollständigkeit halber.
Danke im Voraus für die Mithilfe.
max5moritz
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 197605
Url: https://administrator.de/contentid/197605
Ausgedruckt am: 21.11.2024 um 22:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo max5moritz.
So sollte das funktionieren. Diese Art von verschachtelter Variable erfordert CALL, anderenfalls müsstest du mit verzögerter Variablenerweiterung arbeiten, á la
Grüße
rubberman
set "code=-s 720x432 -vf crop=720:432:0:72 -aspect 16:9 -c:a copy -map 0:0 -map 0:1 "
set /a LenSet=19
call set "newCode=%%code:~0,-%LenSet%%%"
echo %newCode%
So sollte das funktionieren. Diese Art von verschachtelter Variable erfordert CALL, anderenfalls müsstest du mit verzögerter Variablenerweiterung arbeiten, á la
set "newCode=!code:~0,-%LenSet%!"
Grüße
rubberman