【发布时间】:2015-02-08 20:48:41
【问题描述】:
下面的循环/函数应该编辑一个文件(只是替换文件中的第二行)。 原始文件包含一个 > 165000 个符号长的行,并且在执行此循环后,只有这一行在新文件中消失了。
setlocal EnableDelayedExpansion
set /a count=0
>"%~3" (
for /f "usebackq delims=" %%A in ("%~2") do (
if !count!==1 (echo ^<html^>) else (
setlocal DisableDelayedExpansion
echo.%%A
endlocal)
set /a count+=1
)
)
endlocal
goto:eof
我认为它与变量 (%%A) 可以存储的最大长度有关。有没有办法避免这种行为?
提前致谢!
【问题讨论】:
-
one > 165 000 signs long line是什么意思?批量环境变量限制在8K左右 -
文件中有一行165k长!
标签: file batch-file for-loop