Board logo

标题: [其他] [已解决]批处理FOR循环怎么使用自定义变量? [打印本页]

作者: jywqd    时间: 2011-5-4 17:33     标题: [已解决]批处理FOR循环怎么使用自定义变量?

本帖最后由 jywqd 于 2011-5-4 20:48 编辑

如:
  1. for /l %%j in (1,1,4) do (
  2.     if %%j equ 1 set win7ver=家庭普通版
  3.        echo %win7ver%
  4.                                     )
复制代码
执行后%win7ver%是空的,难道FOR中不能使用自定义变量吗?
作者: Commander    时间: 2011-5-4 17:36

  1. @echo off
  2. for /l %%j in (1,1,4) do (
  3.     if %%j equ 1 (
  4.         set win7ver=家庭普通版
  5.     )
  6. )
  7. echo,%win7ver%
复制代码

作者: hanyeguxing    时间: 2011-5-4 17:39

  1. @echo off
  2. setlocal enableDelayedExpansion
  3. for /l %%j in (1,1,4) do (
  4.     if %%j equ 1 set win7ver=家庭普通版
  5.        echo !win7ver!
  6.                                     )
  7. pause
复制代码

作者: hfg1977    时间: 2011-5-4 18:21

  1. for /l %%j in (1,1,4) do (
  2.     if %%j equ 1 set win7ver=家庭普通版
  3.        call echo %%win7ver%%
  4.                                     )
复制代码

作者: jywqd    时间: 2011-5-4 19:43

感谢3楼版主的回复,问题已经解决。
2楼的虽然可以显示,但是已经在循环外了,而这个变量要在循环内用的。
4楼的也可以显示,但是使用上不如3楼的方便。




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