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