找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18427|回复: 1

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

[复制链接]
发表于 2013-7-28 12:57:54 | 显示全部楼层 |阅读模式
本帖最后由 _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 处于关闭状态。 ,有没有办法可以解决这个问题呢?

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

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

评分

参与人数 1技术 +1 收起 理由
_FPXI19 + 1 感谢回答。

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 12:05 , Processed in 0.013792 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表