我需要替换文件中的一行。通常,此代码可以正常工作:
(对于这个问题,这个块正在做什么的实际细节不是必需的)。
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 个字符(感谢 dbenham 提供的花絮,现在开始使用)。
那么当行大于 8,192 个字符(在本例中为 23,708 个)时,我有什么选择?
在你问之前:不,它不能被分隔成一个新的行,它是一个用 Base64 编码的 10k JSON 数组,然后写入一个 ByteArray。
我假设要走的路是使用正则表达式,这是正确的假设,还是有另一种解决方法?
谢谢。