【问题标题】:Cannot run R.exe in Powershell无法在 Powershell 中运行 R.exe
【发布时间】:2022-01-11 18:15:33
【问题描述】:

我经常发现在命令行(Windows)上运行 R 更有用。但是,当我在 Powershell 中尝试它时,我往往会遇到问题,但首先运行 cmd 很容易克服这个问题,然后它就可以工作了。

这是我在执行R CMD BATCH 时遇到的错误

Invoke-History: A positional parameter cannot be found that accepts the argument 'BATCH'

我后来意识到r 是一个别名,它返回刚刚过去的命令,因此我无法运行 R。

随后,我发现使用可执行文件的完整文件名(即R.exe)或使用Rcmd.exe(即Rcmd BATCH ...)有效。

但是,我只是好奇,是否有解决方法,以防遇到类似的冲突?

【问题讨论】:

  • 你想在终端运行 R 会话还是在命令行运行 R 脚本?
  • 我的意图是运行 R CMD 及其选项,如构建、安装、检查等。
  • 我想你找到了解决方法:使用完整的文件名,包括扩展名

标签: r windows powershell


【解决方案1】:

在 powershell 中启动 R:

R.exe

【讨论】:

  • 谢谢。从那以后,我通过运行rterm 学会了在 PowerShell 或 cmd.exe 中使用 R。
  • 如果您需要在系统%PATH% 中输入R.exe,只需重新启动安装程序就会提醒您二进制文件在哪里。请注意,只需键入 R 即可调用 PowerShell 的历史记录功能,该功能会屏蔽可执行文件。
【解决方案2】:

解决方法是完全定义您的调用。

& "path\to the\r.exe" arg1 arg2 etc

或者,

$P = @{
  FilePath="path\to the\r.exe"
  ArgumentList=@('arg1','arg2')
}
Start-Process @P

【讨论】:

  • 谢谢。我问这个问题的原因之一是由于一个不相关的问题,我无法在 PS 2.0 中运行 7-Zip 的 7z,而当我在 cmd 中运行它时它可以完美运行。所以我无法使用包含它的脚本。
  • 你有错误吗?我在 ps2 脚本中没有遇到 7z cli 的任何问题
  • 它在我的工作机器上。当我明天到达那里时,我将发布错误供所有人查看。再次感谢。
  • 我知道 PS 2.0 已被弃用,但我认为可能值得指出,即使是出于学术兴趣。
  • @VictorOrdu 我暂时还在工作场所使用 v2。
【解决方案3】:

我在 linux 上遇到了这个问题,其中没有可执行文件的文件扩展名,所以没有帮助,但仍然有两个选择:

  • /usr/bin/R 如果安装在通常的位置
  • Start-Process Rstart-process cmdlet 不需要大写)

【讨论】:

    猜你喜欢
    • 2021-05-13
    • 1970-01-01
    • 2018-02-09
    • 2016-07-23
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    相关资源
    最近更新 更多