【问题标题】:Executing a batch file in an R script在 R 脚本中执行批处理文件
【发布时间】:2015-08-14 17:09:00
【问题描述】:

我想从 R 脚本执行批处理文件。该文件位于\\network\path\to\batch\file.bat 之类的目录中。

我知道我可以在 R 中使用 system 命令来运行 DOS 命令,但我不能简单地使用 system("start file.bat")。那么如何最好地使用 R 脚本来执行这个批处理文件呢?

【问题讨论】:

  • 您遇到的具体问题是什么?

标签: r batch-file


【解决方案1】:

试试shell.exec("\\\\network\\path\\file.bat")

shell.exec 命令使用与 Windows 相关的应用程序打开文件。请注意双引号。

专业提示:write.csv(file='tmp.csv',tmpdat);shell.exec('tmp.csv') 对于快速检查输出非常有用(假设您已将 CSV 文件与首选应用程序关联以查看 CSV 文件)。

【讨论】:

  • 我可能需要为此提出一个新问题,但是,如何强制 R 脚本等到批处理脚本完全运行后再执行?现在,脚本只是启动批处理脚本并继续执行下一部分代码。
【解决方案2】:

试试 shell('\network\path\to\batch\file.bat')

【讨论】:

    【解决方案3】:

    我在 Windows 中使用 RSelenium 时也发现了这个问题,但使用 this batch file 确保关闭所有 chromedriver 进程。经过长时间的抓取后,我最终完成了很多这样的过程。

    我的解决方案是每隔一段时间从 R 脚本中执行批处理文件:

        shell.exec(file.path(getwd(), "kill_chromedriver.bat"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 2011-09-05
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多