|
|
发表于 2005-6-22 12:08:13
|
显示全部楼层
DOS有奖问答No2:怎样让程序强制返回DOS?
Re ALL:
同意 magictek 和 gotomsdos 的意见,关键不在于是否使用 command /k,而在于是否可以在子模块(在这里意为子bat)中强行中断进程。从软件工程学的角度上来讲,这样设计程序是不完善的,即使是在gotomsdos所说的菜单循环中,这只能说明程序的结构仍然需要改进。我建议在子模块中设置中断标志(变量或者文件),然后回到主模块后再判断标志来决定是否中断,中断的方法自然仍是Goto end。
至于 command /k 的优劣,除了 magictek 提到的耗费资源外,还存在一个问题就是,如果在以后执行的命令行或者批处理中执行了 exit ,那么仍将返回子模块,因为command /k 并非返回原来的“领地”,而是闯入了新的“无人地带”,他仍有被遣返的隐忧。除此而外,command 的重复加载会带来相当多的内存兼容性问题,尤其是在启动盘之类TSR比较多的启动环境中。
|
|