【问题标题】:For DelayedExpansion Variables Values get stored对于 DelayedExpansion 变量值被存储
【发布时间】:2014-01-28 18:06:11
【问题描述】:

我会尽力解释我的问题。我想重写一个包含:

如果“!Var!” ....

我在 for 循环中的一个临时文件中重写它,并启用了 DelayedExpansion(我需要启用它来设置循环中的 !Var! 值),但是一旦他到达包含显示的文本的行上面写着:

如果“Var 的值” ....

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

请帮忙

鲁迪

【问题讨论】:

  • 你改变了整个问题。你为什么不打开一个新问题?
  • 因为我没有从一开始就问这个问题......
  • 我只想知道变量名怎么写!Var!在一个 for 命令中,而不是它的值,而 DelayedExpansion 已启用

标签: batch-file for-loop cmd


【解决方案1】:
(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 计算输入文件的行数。通过for 命令的tokensdelimiters 子句将数字与内容分开。如果数字超出范围,则回显该行内容。所有输出都重定向到临时文件

【讨论】:

  • 这并不能解决问题..我的问题永远不会被回答吗?
  • @user3245536,答案是您在我回答之前提出的问题,在您更改问题之前已发布的答案。包括有问题的代码,然后,也许可以找到解决方案。
猜你喜欢
  • 2016-09-06
  • 2019-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-26
  • 1970-01-01
  • 1970-01-01
  • 2012-08-24
相关资源
最近更新 更多