之前写打包的批处理,应为有很多个步骤,所以批处理命令略多,而且必须按顺序执行才可以。
但是在实现过程中,发现调用外部bat之后,命令会中断,后面的命令就不再执行!
想到的解决办法是,用start命令,启动另一个控制台来执行外部bat,但是仍然存在一个问题:之后的命令不会等待外部批处理执行完成,而是立即执行,导致了一些问题。临时解决办法是,start之后,用个pause。虽然方法可行,但是不是全自动,需要去点击一次,如果同时执行多个,那就要点击很多次,不太方便。而且每个start还会开启一个控制台,最后可能会有几十个控制台需要手动关闭,大大的麻烦。
而在linux下,使用shell,却没有这样的问题。后来无意间,用C++的system执行批处理,也能做到等待调用完成,再执行下一个,于是乎认为批处理肯定有解决方案,开始查找,最终发现了call命令……
将所有start换成call,问题完美解决。
时间: 2024-11-06 13:38:40