我在R中有一个脚本(由其他人编写),它使用带有'-batch'开关的shell()调用ImageJ进行图像分析:
shell("C:\\ImageJ\\imagej.exe -batch [args]")
分析确实开始了,但似乎R在分析完成之前继续执行下一行,因此在创建之前尝试访问某些文件。
如果我使用调试器断点运行它,并等到它完成后再继续,一切正常。但是如果我尝试将它作为一个整体运行,我会因读取一个空文件夹而收到错误。
shell()命令有一个可选的参数'wait',默认值为“TRUE”,但我想启动ImageJ,而不是它的完成,被认为是shell的“完成”,这就是R继续的原因。 那么我该怎么做才能迫使R等到ImageJ完成?我知道我可以在while循环中检查已创建文件的数量,因此它几乎可以保留,直到创建所有文件。但我宁愿有一个更优雅,更危险的解决方案。 谢谢!