Board logo

标题: [文本处理] 批处理for循环中变量的值为何不改变? [打印本页]

作者: tboa    时间: 2010-6-30 15:44     标题: 批处理for循环中变量的值为何不改变?

  1. @echo off
  2. set key=%1
  3. set num=%2
  4. set len=%3
  5. set abb=0
  6. for /l %%i in (1,%num%,%len%) do (
  7. set /a abb+=1
  8. echo index=%abb%
  9. if "%abb%" LSS "10" (
  10. set /p=%key%%%i<nul>>1.txt
  11. )
  12. )
复制代码
为什么abb的值不变,一直是0??
作者: neorobin    时间: 2010-6-30 16:22

变量延迟和命令行参数的问题
  1. if "%1"=="" (
  2.   cmd /s /k "%~s0 asdfg 1 5&exit"
  3.   exit
  4. )
  5. @echo off & setlocal enableDelayedExpansion
  6. set key=%1
  7. set num=%2
  8. set len=%3
  9. set abb=0
  10. for /l %%i in (1,%num%,%len%) do (
  11.   set /a abb+=1
  12.   echo index=!abb!
  13.   if !abb! LSS 10 (
  14.     set /p=%key%%%i<nul>>1.txt
  15.   )
  16. )
  17. pause
复制代码

[ 本帖最后由 neorobin 于 2010-6-30 16:27 编辑 ]
作者: tboa    时间: 2010-6-30 16:25

受教了,谢谢!!!!!!!!!!!!!!!1
作者: vfcai    时间: 2010-6-30 20:26     标题: 看不什么懂。。

想知道这p处理是实现什么个效果????菜鸟请教。
作者: sgaizxt001    时间: 2010-6-30 21:27     标题: 回4楼

代码只是其中的一部分,你无法知道是什么效果的




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