版上各位好,小弟目前有只以matlab写成的主程式,
主要是制作.txt作为输入档案,并透过.bat去呼叫外部程式后输出新的档案,
之后再撷取新档案的内容。
所制作的输入档案会分成四类,分别存在input1~4的资料夹中。
待输入档案制作完后,会去呼叫一只.bat,.bat内主要是启动四只.exe_1~4,
用start的方式呼叫后同时启动并个别处理对应编号的输入资料夹内的档案,
并将输出档案放在output1~4的资料夹。
我主要的问题在于,因为输出档案的数目在不同个案情况下不同,
而四只.exe执行速度也不尽相同,有可能有一只才跑80%,而其他已经结束,
是否有办法在主程式中增加判断式,当输入与输出档案数量不同时,先暂停程序,
待全部.exe执行完毕,数量一致后再触发程式继续执行?
我目前的想法是,执行.bat后用while配合pause与特定秒数来反复检测档案数目
dos(.bat)...
while numel(dir(input))~=numel(dir(output))
pause(60)
end
fopen...
不知是否有更直观或是更有效率的写法?
谢谢大家