我想从R脚本执行批处理文件。该文件位于\\network\path\to\batch\file.bat
之类的目录中。在R脚本中执行批处理文件
我知道我可以在R中使用system
命令来运行DOS命令,但我不能简单地使用system("start file.bat")
。那么我如何最好地使用R脚本来执行这个批处理文件呢?
我想从R脚本执行批处理文件。该文件位于\\network\path\to\batch\file.bat
之类的目录中。在R脚本中执行批处理文件
我知道我可以在R中使用system
命令来运行DOS命令,但我不能简单地使用system("start file.bat")
。那么我如何最好地使用R脚本来执行这个批处理文件呢?
尝试shell.exec("\\\\network\\path\\file.bat")
的shell.exec
命令使用Windows的相关应用程序打开该文件。请注意双重反拨。
专业提示:write.csv(file='tmp.csv',tmpdat);shell.exec('tmp.csv')
对于快速检查输出很有用(假设您已将CSV文件与您的首选应用程序关联以查看CSV文件)。
我可能需要为此提出一个新问题,但是,如何强制R脚本等到批处理脚本完全运行后再执行? 现在,脚本只是启动批处理脚本并转到代码的下一部分。 – David
尝试 壳( '\网络\路径\为\批次\ file.bat')
由于Bryan已经声明壳是更好的选择,因为它的默认等待cmd完成。
在Windows中使用RSelenium时发现此问题,但使用this batch file确保关闭所有的chromedriver进程。经过漫长的讨论后,我结束了大量的这些过程。
我的解决办法是从R脚本中,每隔一段时间通过执行批处理文件:
shell.exec(file.path(getwd(), "kill_chromedriver.bat"))
到底是什么您遇到的问题? – Dason