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

[系统相关] 批处理无法在for中给变量累加赋值?

无法在for中给变量累加赋值?
请教各位一个问题?
写代码时发现cmd的一个奇怪显现,百思不得其解。
看下面的代码,先别运行,诸位能看出语法错误吗?
但第一次pause后,就会退出。。。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. color 1f
  4. set "var=00000"
  5. for /l %%a in (1 1 10) do set var=!var!!var!
  6. echo !var!
  7. echo 这里可以运行。
  8. pause
  9. color cf
  10. set var=!var:0= 0 !
  11. echo !var!
  12. echo 这无法运行???
  13. pause
复制代码
原因有二
第一、 取消 set var=!var:0= 0 ! 这一句
第二、 for /l %%a in (1 1 10) do set var=!var!!var!
       这句中不能有多个的!var!,改为set var=000!var!就没事
       也就是这两句不能同时出现??
       郁闷。。。。。。
技术问题请到论坛发帖求助!

汗啊,,原来是这么简单的问题,
变量赋值的最多应该是8190个,没注意我那代码超过了,,
技术问题请到论坛发帖求助!

TOP

set m=“a!m!”||
引号笔误吧 应该是 set "m=a!m!"

[ 本帖最后由 随风 于 2009-2-21 19:05 编辑 ]
技术问题请到论坛发帖求助!

TOP

返回列表