对于DelayedExpansion变量值存储

时间:2014-01-28 18:06:12

标签: batch-file for-loop cmd

我会尽力解释我的问题。我想重写一个包含以下内容的文件:

如果“!Var!” ....

我在一个带有DelayedExpansion Enabled的for循环中的临时文件中重写它(我需要启用它来设置循环中的!Var!值),但是一旦他到达那个显示该文本的行上面写道:

如果“Var的价值”......

所以我尝试禁用,然后在运行时启用扩展((echo %% a)>>“Temp.File”),但随后它表示已达到最大SetLocal。

请帮忙

鲁迪

1 个答案:

答案 0 :(得分:0)

(for /f "tokens=1,* delims=:" %%a in ('findstr /n "^" "%inputFile%"') do (
  if %%a lss %begin% ( echo(%%b
  ) else if %%a gtr %end% echo(%%b
)) > "%tempFile%"

使用findstr来计算输入文件的行。数字通过tokens命令的delimitersfor子句与内容分开。如果number超出范围,则回显行内容。所有输出都重定向到临时文件