Umschreiben von Dateien: Eine Zeile ist größer als die maximale Größe der Variablen. Umgehung?

Ich muss eine einzelne Zeile in einer Datei ersetzen. Im Allgemeinen funktioniert dieser Code einwandfrei:

(Die tatsächlichen Einzelheiten zu dem, was dieser Block tut, sind für diese Frage nicht erforderlich.)

for /F "tokens=1* delims=:" %%a in ('findstr /N "^" %DATA%') do (
    if %%a equ %TargetLine% (
        echo !insert!>>%filepath%cc.tmp
    ) else (
        if [%%b]==[] (echo.>>%filepath%cc.tmp) else (echo %%b>>%filepath%cc.tmp)
    )
)

Leider ist jede Zeile %% a zugeordnet, in der wie in jeder anderen Variablen nur eine maximale Länge von 8.192 Zeichen gespeichert werden kann (danke dbenham für dieses Angebot, das jetzt verwendet wird).

Welche Optionen habe ich also, wenn die Zeile länger als 8.192 Zeichen ist (in diesem Fall 23.708)?

Bevor Sie fragen: Nein, es kann nicht in eine neue Zeile getrennt werden. Es handelt sich um ein in Base64 codiertes 10-KB-JSON-Array, das dann in ein ByteArray geschrieben wird.

Ich gehe davon aus, dass der Weg dahin die Verwendung regulärer Ausdrücke ist. Ist dies die richtige Annahme oder gibt es eine andere Problemumgehung?

Vielen Dank.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage