中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-24 15:33
47,811 主题排行 / 349,909 发帖 / 今日 0 篇 / 48,262 会员排行
WinPE、PowerShell及其它命令行系统专区 » 高版本的 4NT / Take Command if 命令的一个 bug
可打印版本  2,924 / 4
第1楼 DOSforever 发表于 2009-05-25 10:17
金牌会员 发帖 2,239 积分 4,639
高版本的 4NT / Take Command if 命令的一个 bug
经研究发现高版本的 4NT / Take Command 的 if 命令有一个 bug 。

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

比如

返回结果
1
2

执行正常

但是,如果

不返回任何结果,第二句 echo 永远不会被执行

但是,如果是在批处理文件中分开写的两行则不受影响

执行正常

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

经测试,这个 bug 只在高版本的 4NT / Take Command 中出现,在 8.0 、9.0 、10.0 中有,但在 6.0 、7.0 和 4DOS 中没有。
第2楼 wl00560 发表于 2009-06-05 04:59
银牌会员 发帖 709 积分 1,384
问一下,4NT现在有什么大的进步没有?
我现在还在用6.01……
第3楼 DOSforever 发表于 2009-06-05 08:31
金牌会员 发帖 2,239 积分 4,639
现在 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 ?!呵呵
第4楼 Roy 发表于 2010-04-14 19:00
管理员 发帖 1,633 积分 4,869
剛在官方討論區發文,看看會有什麼回應吧。
http://www.jpsoft.com/forums/showthread.php?p=9427
第5楼 Roy 发表于 2010-04-14 20:48
管理员 发帖 1,633 积分 4,869
答案是不要勾選"Duplicate CMD.EXE bugs"即可。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023