[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理命令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 处于关闭状态。 ,有没有办法可以解决这个问题呢?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

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

评分人数

看得多说得多,远比不上写得多。

TOP

返回列表