今天发了两个帖子解决了问题,很感谢论坛的会员们
接着
突发奇想,再继续发散思维下特有如下想法,想让cmd人性化点
大家都知道脚本中可以用call方法调用子过程,但是这种方法很麻烦
要人为设定返回变量,然后再用,习惯了高级语言后对此种调用发法很不爽,还有cmd不支持浮点运算,数学函数自然不能用,(论坛里有个math.exe,就很好大家可以搜索关键字math,正式这个math.exe让我产生此想法)
提议写个解释器(命名expr),把子过程的call方法封装 对子过程的调用用高级语言的 varable=fun(arg1,arg2,,,) 形式,对于有返回值的函数用等号去接受,(这一点p可以说是得天独厚,是大多数语言无法比拟的,因为它没有变量类型)
expr var=fun1(arg1, arg2, ... fun2(p1, p2, ...)) ; var2=fun3(...) ; fun4(....);
现在想到一个问题就是如果expr作为三方工具,那么var的值只在expr的生存期有效,当expr将控制权返回给cmd时,用
return var;
却要求为int型,而且cmd能接受的只有errorlevel变量,看来要做不只有这些了
若再换一种思路,不return var; 而是printf("%s", var); 然后再写个bat脚本for /f
去抓取信息,
于是产生用纯批处理写expr的想法,但是效率可想而知,
于是还是回到用 c语言+bat的for /f的思路
若真是喜欢cmd(linux的强大正是有众多的fans一点一滴地积累而成)愿意给它做点东西,开始吧
接着
突发奇想,再继续发散思维下特有如下想法,想让cmd人性化点
大家都知道脚本中可以用call方法调用子过程,但是这种方法很麻烦
要人为设定返回变量,然后再用,习惯了高级语言后对此种调用发法很不爽,还有cmd不支持浮点运算,数学函数自然不能用,(论坛里有个math.exe,就很好大家可以搜索关键字math,正式这个math.exe让我产生此想法)
提议写个解释器(命名expr),把子过程的call方法封装 对子过程的调用用高级语言的 varable=fun(arg1,arg2,,,) 形式,对于有返回值的函数用等号去接受,(这一点p可以说是得天独厚,是大多数语言无法比拟的,因为它没有变量类型)
expr var=fun1(arg1, arg2, ... fun2(p1, p2, ...)) ; var2=fun3(...) ; fun4(....);
现在想到一个问题就是如果expr作为三方工具,那么var的值只在expr的生存期有效,当expr将控制权返回给cmd时,用
return var;
却要求为int型,而且cmd能接受的只有errorlevel变量,看来要做不只有这些了
若再换一种思路,不return var; 而是printf("%s", var); 然后再写个bat脚本for /f
去抓取信息,
于是产生用纯批处理写expr的想法,但是效率可想而知,
于是还是回到用 c语言+bat的for /f的思路
若真是喜欢cmd(linux的强大正是有众多的fans一点一滴地积累而成)愿意给它做点东西,开始吧

