【问题标题】:How to run R script containing interactive user options from a batch file如何从批处理文件运行包含交互式用户选项的 R 脚本
【发布时间】:2017-11-17 16:04:53
【问题描述】:

我编写了一个交互式 R 脚本,它为用户提供了某些选项,使用这些选项进行其余的执行。根据用户的要求,这些输入必须是可选的。用户的另一个要求是他不想手动选择 RStudio 中的整个脚本来执行它。我试图为此执行创建一个BAT 文件。但是,该程序不执行。下面是一个示例用户交互脚本。

FYI_Splitter <- winDialog(type = "yesno","Do you want to remove FYI from base file?

Yes = Remove FYI
No = Do Not Remove FYI")

以下是我用来执行BAT 文件的内容。

"C:\Program Files\R\R-3.4.2\bin\Rscript.exe" "<Path_of_file>\Test_Program.R"

我知道批处理文件执行不支持交互式会话。有没有办法让 R 中的交互式会话在不选择 RStudio 中的整个代码的情况下执行?对此的任何帮助将不胜感激。

【问题讨论】:

    标签: r batch-file cmd rstudio


    【解决方案1】:

    你可以试试

    echo source("<Path_of_file>\Test_Program.R") | R.exe --ess --vanilla
    

    R 中的 interactive() 命令然后为我返回 TRUE。

    【讨论】:

    • 谢谢@Slimemold。我会试一试,如果可行,请随时通知您。就一个问题。代码中是否需要--vanilla
    • 如果我忽略它,我会收到一条错误消息,告诉我在 --vanilla、--save 和 --no-save 之间进行选择。
    • 您是否在 BAT 文件中添加完全相同的代码?还有什么我应该添加的吗?因为它似乎对我不起作用。
    • 我只运行这一行。你有任何错误吗?
    • 好吧,我不是 BAT 文件方面的专家。当我放置您提供的行时,正确更改文件路径并运行它,没有任何反应。我确实看到了一些消息,但在它立即关闭时无法看到它。我什至尝试在您的行中添加到 R.exe 的完整路径,但它也不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    相关资源
    最近更新 更多