Board logo

标题: [文本处理] [已解决]批处理命令for下变量为什么会出现错误? [打印本页]

作者: _FPXI19    时间: 2013-7-28 12:57     标题: [已解决]批处理命令for下变量为什么会出现错误?

本帖最后由 _FPXI19 于 2013-7-28 21:01 编辑
  1. :l
  2. for /f %%j in (test.txt) do (
  3.     set /a hhh+=1
  4.     echo %hhh%
  5.     pause)
  6. goto :l
复制代码
我在读取一个文件并做变量计算的时候总是提示 ECHO 处于关闭状态。 ,有没有办法可以解决这个问题呢?
作者: weichenxiehou    时间: 2013-7-28 15:00

回复 1# _FPXI19
显示ECHO处于关闭状态的原因肯定是%hhh%的值为空。你就要检查它为什么为空了,可能原因是:
循环内部的%hhh%得到的值永远都是循环开始之前变量hhh的值,如果要得到实时值,需要用setlocal enabledelayedexpansion开启变量延迟,然后用!hhh!来取值,即echo,!hhh!。用echo,的原因是即便hhh为空也不会显示ECHO处于关闭状态而是显示空行。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2