标题: [其他] 求助,能否在for循环中生成子函数的声明和代码 [打印本页]
作者: 20024jok 时间: 2017-6-16 11:47 标题: 求助,能否在for循环中生成子函数的声明和代码
本帖最后由 20024jok 于 2017-6-16 11:49 编辑
先是 select 函数:- :select
- choice /c 12345 /n /m "请输入相应数字:"
- for /L %%i in (1,1,5) do (if errorlevel %%i goto setIP%%i )
复制代码
经过试验,用for循环能够生成类似 if errorlevel %%i goto setIP%%i 的跳转语句,
但我还想生成每个子函数 :setIP1 ~ :setIP5 的声明和语句,声明子函数名的 :setIP%%j 确没有生成,系统提示找不到函数声明:- for /L %%j in (1,1,5) do (
- REM pause
- :setIP%%j
- netsh interface ip set address %NAME% static !IP%%j! %MASK% %GATE%
- goto :select
- )
复制代码
上面的跳转语句 goto :select 实验确定成功生成,可以跳转回 select 函数
// 附上应该在最前面的每个IP- set NAME="本地连接 2"
- set "MASK=255.255.255.0"
- set GATE=192.168.10.1
- set IP1=111.111.1.111
- set IP2=192.168.2.222
- set IP3=192.168.3.333
- set IP4=444.44.444.4
- set IP5=555.55.555.5
复制代码
新人一枚,请高手们指点
作者: ivor 时间: 2017-6-16 20:35
标签是脚本预处理的时候做的
作者: ShowCode 时间: 2017-6-16 21:14
不可以。
请把它放到for循环外面。
作者: 老刘1号 时间: 2017-6-16 21:23
本帖最后由 老刘1号 于 2017-6-16 21:25 编辑
不可以
FOR内不能有标签
并且标签不可以有变量组成
友情提示:ERRORLEVEL跳转的时候建议从大到小判断
其他:收到你的启发,可以试试直接复制代码
作者: 20024jok 时间: 2017-6-17 20:10
果然是声明的问题啊,非常感谢!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |