ファイル内の 1 行を置き換える必要があります。通常、このコードは正常に機能します。
(このブロックが何をしているかについての実際の詳細は、この質問には必要ありません)。
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)
)
)
残念ながら、各行は %%a に割り当てられます。これは、他の変数と同様に最大 8,192 文字しか格納できません (tidbid を提供してくれた dbenham に感謝します。現在使用されています)。
行が 8,192 文字 (この場合は 23,708 文字) を超える場合、どのようなオプションがありますか?
質問する前に: いいえ、新しい行に分割することはできません。これは、Base64 でエンコードされた 10k JSON 配列であり、ByteArray に書き込まれます。
進むべき道は正規表現を使用していると思いますが、これは正しい仮定ですか、それとも別の回避策がありますか?
ありがとう。