【问题标题】:Running R code containing spaces from Windows Command Line从 Windows 命令行运行包含空格的 R 代码
【发布时间】:2018-07-20 19:02:15
【问题描述】:

我需要从命令行运行 R 代码,但是包含空格的路径会破坏命令。

这段代码运行良好:

Rscript -e "x=1;write.csv(x,'H:/this_folder/x.csv')"

这段代码:

Rscript -e "x=1;write.csv(x,'H:/that folder/x.csv')"

返回:

'C:\PROGRA~1\R\R-34~1.3\bin\x64\Rscript.exe" -e "x' 不是内部或外部命令、可运行程序或批处理文件.

这里应该使用什么语法?有没有办法逃离这个空间?

【问题讨论】:

  • 你试过Rscript -e 'x=1;write.csv(x, file = "H:/that folder/x.csv")'
  • 是的,它返回与上面相同的错误。
  • 我无法重现此问题; C:\Program Files\R\R-3.4.2\bin>Rscript -e "x=1;write.csv(x,'delete me/x.csv')" C:\Program Files\R\R- 3.4.2\bin>dir "delete me" 目录 C:\Program Files\R\R-3.4.2\bin\delete me 02/09/2018 06:31 PM 。 02/09/2018 06:31 PM .. 02/09/2018 06:31 PM 15 x.csv
  • 我在 Linux 终端中使用它。它对我有用。那么必须重新镀到窗户上。
  • 在 Windows 10 下的 cmd (cmder) 中为我工作:Rscript -e "x=1;write.csv(x,'c:/this_folder/x.csv')"Rscript -e "x=1;write.csv(x,'c:/that folder/x.csv')"(在 Windows 中手动创建文件夹后)

标签: r rscript


【解决方案1】:

好的,这也是 Windows 命令行中的正确语法。问题在于当前版本的 R (3.4.3)。上述命令适用于以前的版本(3.4.2)。具体来说,这个问题适用于这个版本的 Rscript:

C:\Program Files\R\R-3.4.3\bin\Rscript.exe'

原始命令使用这些版本可以正常工作:

C:\Program Files\R\R-3.4.3\bin\x64\Rscript.exe

C:\Program Files\R\R-3.4.3\bin\i386\Rscript.exe

感谢那些在不同系统上尝试过的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-11
    • 2010-10-29
    • 1970-01-01
    • 2014-08-24
    相关资源
    最近更新 更多