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

[其他] 变量型批处理函数的一些问题如何解决?

http://www.bathome.net/viewthread.php?tid=5861

帖子里面提出了将函数定义为变量来使用
个人认为这种方法十分的好,速度上与直接使用代码一致,而又可以封装细节代码,让主程序显得更简洁更通用
继续研究中发现还是有一些问题需要解决

多层嵌套不能实现
例如无法实现echo !%a%!,必须需要call %%!a!%%,对于非常常用的两层来说无疑降低了效率

多个独立for的问题
例如无法实现两个独立的for循环,总是会将第二个for作为第一个for的do子语句

这两个问题影响到使用,一起看看有没有什么解决方法,不然遇到这种情况还是只能用标签类型的函数
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

第一个问题的解决非常好,看起来我真是笨了。。。
第二个问题,for+()+&这样连接两个独立的for循环是没用的,例如代码
for /l %%a in (1,1,2) do (echo %%a)&for /l %%b in (5,1,6) do (echo %%b)
这样执行会发现输出结果是1\5\6\2\5\6而不是期望的1\2\5\6
看起来cmd会把do后面的全部内容都看为for的循环体,而不管()
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

变量型函数是必须研究的一个问题,效率上没有太大缺陷,又能节省重复代码,还得感谢netbenton提出的这个想法
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

回复 7# abcdshenji


    thx,看起来水平下降不少啊
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

返回列表