标题: [其他] [分享]批处理call程序内各种调用情况测试 [打印本页]
作者: mxxcgzxxx 时间: 2011-5-8 09:00 标题: [分享]批处理call程序内各种调用情况测试
- @echo off
- setlocal enableDelayedExpansion
- rem call 调用测试
- for /l %%1 in (1,1,4) do (set b%%1=c%%1)
-
- :1
- cls
- set a=1
- for /l %%1 in (0,1,3) do echo.
- echo 1 普通调用
- echo.
- echo 2 函数调用
- echo.
- echo 3 嵌套函数调用
- echo.
- echo 4 FOR调用
- echo.
- echo 5 FOR函数嵌套调用
- echo.
- echo 6 多层FOR嵌套调用
- echo.
- echo 7 带参数调用
- echo.
- for /l %%1 in (0,1,3) do echo.
- set /P p=请选择:
- if %p%==1 goto :2
- if %p%==2 goto :3
- if %p%==3 goto :4
- if %p%==4 goto :5
- if %p%==5 goto :6
- if %p%==6 goto :7
- if %p%==7 goto :8
- goto :1
-
- :2
- echo 普通调用
- call :c1
- call :c2
- call :c3
- call :c4
- echo %a%
- pause
- goto :1
-
- :3
- echo 函数调用
- call :c%a%
- call :c%a%
- call :c%a%
- call :c%a%
- echo %a%
- pause
- goto :1
-
- :4
- echo 嵌套函数调用
- call :!b%a%!
- call :!b%a%!
- call :!b%a%!
- call :!b%a%!
- echo %a%
- pause
- goto :1
-
- :5
- echo FOR调用
- for /l %%1 in (1,1,4) do call :c%%1
- echo %a%
- pause
- goto :1
-
- :6
- echo FOR函数嵌套调用
- for /l %%1 in (1,1,4) do call :!b%%1!
- echo %a%
- pause
- goto :1
-
- :7
- echo 多层FOR嵌套调用
- for /l %%j in (1,1,3) do (echo 第%%j次)&(for /l %%1 in (1,1,4) do call :!b%%1!)
- echo %a%
- pause
- goto :1
-
- :8
- echo 带参数调用
- call :c5 1 2 3 4 5 6 7 8
- echo %a%
- pause
- goto :1
-
- :c1
- echo 1号测试成功
- set /a a+=1
- goto :eof
- :c2
- echo 2号测试成功
- set /a a+=1
- goto :eof
- :c3
- echo 3号测试成功
- set /a a+=1
- goto :eof
- :c4
- echo 4号测试成功
- set /a a+=1
- goto :eof
-
- :c5
- set /a a=(%1+%2+%3)*%4-%5-%6-%7+%8
- echo (%1+%2+%3)*%4-%5-%6-%7+%8=%a%
- call :c%1
- call :c%2
- call :c%3
- call :c%4
- goto :eof
复制代码
作者: CrLf 时间: 2011-5-8 09:58
不明白意义何在
作者: applba 时间: 2011-5-8 10:15
测试call的各种调用方式!
楼主如果区分一下命令行和批处理就更好了。
作者: mxxcgzxxx 时间: 2011-5-8 12:31
2# zm900612
只是最近刚好在编一个比较大的批处理,发现论坛里问CALL的人很多,而现在教程太深太多话让人看晕,所以玩一个小测试可以明了点揭示常用的内部调用的CALL用法。但还不是很全面希望大家帮改改,弄一些常见的,又容易出错的情况,用简单的实例。
作者: Batcher 时间: 2011-5-8 13:37
4# mxxcgzxxx
2楼看不懂,那些连教程都看不懂的朋友恐怕更加看不懂这个代码了吧?^_^
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |