【问题标题】:Run R Script from windows command line with parameters从带有参数的 Windows 命令行运行 R 脚本
【发布时间】:2017-12-11 07:17:01
【问题描述】:

我正在尝试通过 Excel VBA 运行 Rscript。该宏将调用 VBShell 并执行 R 脚本。

我还想向命令行传递一些参数。这是代码的简单版本:

"C:\Users\myname\Documents\R\R-3.4.2\bin\RScript "D:\Group\Subfolder path1\sub folder path 2\script.R" "D:\Group\Subfolder path1\sub folder path 2\" "raw file one.csv" "raw file two.csv" "raw file three.csv"

我在命令窗口中运行了上述代码,但遇到了间距问题。错误是 D:/Group/Subfolder 未将其注册为内部或外部命令。有谁知道如何解决这个问题?谢谢

【问题讨论】:

  • RScript 后面缺少双引号。

标签: r excel vba


【解决方案1】:

打开命令外壳窗口(例如,通过点击 windows 键并输入 cmd)

D:
cd D:\Group\Subfolder path1
dir /X

现在您可以看到文件夹 sub folder path 2 的简称(不带空格)。

cd ..
dir /X

现在您可以看到文件夹 sub folder path 1 的简称(不带空格)。

在您的命令中,将这两个名称替换为它们的简称。

【讨论】:

  • 谢谢彼得。我尝试了您的方法,它适用于文件夹目录但是,我仍然不确定如何处理文件名。原始文件似乎没有短名称。谢谢
  • 在我的系统上,这些文件将获得 8dot3 文件名 RAWFIL~1.CSVRAWFIL~2.CSVRAWFIL~3.CSV ... R 脚本实际接收的前 4 个参数是什么?
  • 嗨,彼得,我认为有时 Windows 不会为文件、文件夹生成短名称。无论如何,我找到了一个解决方案,我在我的 VBA 脚本中传递了双引号并且它有效。例如:rawfile1 = """" & "raw file 1" & """"
猜你喜欢
  • 2012-06-25
  • 2018-10-05
  • 2015-05-18
  • 2011-12-13
  • 2016-12-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多