Board logo

标题: 高版本的 4NT / Take Command if 命令的一个 bug [打印本页]

作者: DOSforever     时间: 2009-5-25 10:17    标题: 高版本的 4NT / Take Command if 命令的一个 bug

经研究发现高版本的 4NT / Take Command 的 if 命令有一个 bug 。

当判断条件为假的时候 if 命令会忽略其后的和它在同一行的命令分隔符,也就是会把分隔的其它多个命令当作它自己条件执行的一部分,而不是另起一行的命令,不管在命令行还是在批处理中执行都是如此。

比如
if 1==1 echo 1 %+ echo 2
返回结果

  Quote:
1
2

执行正常

但是,如果
if 1==2 echo 1 %+ echo 2
不返回任何结果,第二句 echo 永远不会被执行

但是,如果是在批处理文件中分开写的两行则不受影响
if 1==2 echo 1
echo 2
执行正常

这个 bug 不影响同一行中被分隔的 if 前面的语句

经测试,这个 bug 只在高版本的 4NT / Take Command 中出现,在 8.0  、9.0 、10.0 中有,但在 6.0 、7.0 和 4DOS 中没有。
作者: wl00560     时间: 2009-6-5 04:59
问一下,4NT现在有什么大的进步没有?
我现在还在用6.01……
作者: DOSforever     时间: 2009-6-5 08:31
现在 4NT 的最高版本也是最终的版本是 8.02 Build106 ,JPSoftware 不再推出后继版本了,从 9.0 开始,JPSoftware 把以前的 Windows 命令行产品都集成到 Take Command 中去了:

http://www.cn-dos.net/forum/viewthread.php?tid=40956#pid283683

目前 Take Command 最新版是 10.0 。Take Command 中自含的 Take Command Console 可以说是 4NT 的延续。JPSoftware 还有个完全 Console 形式的免费版: TCC LE ,我试用下来发觉它有许多特性不支持,如某些变量函数不能用,无法设置用 Unicode 方式重定向等等,lite 版嘛,也就是让你体验一下而已,呵呵。

新版的 4NT / Take Command 当然也就比老版的多一些命令、内部环境变量、变量函数而已,当然也修正了一些 bug ,没想到却多出了以前没有的 bug ?!呵呵
作者: Roy     时间: 2010-4-14 19:00
剛在官方討論區發文,看看會有什麼回應吧。
http://www.jpsoft.com/forums/showthread.php?p=9427
作者: Roy     时间: 2010-4-14 20:48
答案是不要勾選"Duplicate CMD.EXE bugs"即可。