我试图通过命令提示符运行R脚本。我的操作系统是Windows 10.我在运行代码时遇到问题,因为我的参数的文件路径中有一个空格。这是我粘贴到命令提示符中的内容。
"C:\Program Files\R\R-3.4.3\bin\Rscript.exe" "C:\Users\Scott\Google Drive\RScriptsB\Bundle_Runner.R"
The filename, directory name, or volume label syntax is incorrect.
但是,当我使用没有空格的文件路径运行它时,它运行正常。
"C:\Program Files\R\R-3.4.3\bin\Rscript.exe" "C:\Users\Scott\Desktop\Bundle_Runner.R"
当我通过任务计划程序安排任务时会发生同样的行为:它不能处理空间,并且当我从文件路径中删除空间时它会起作用。
我使用Google云端硬盘来同步多台计算机上的工作,因此我希望能够使用带有空格的文件路径来运行我的脚本。
任何解决方案?
答案 0 :(得分:1)
FOR %%a IN ("C:\Users\Scott\Google Drive\RScriptsB\Bundle_Runner.R") DO "C:\Program Files\R\R-3.4.3\bin\Rscript.exe" %%~sa
将是我的方法 - 问题似乎是R
,而不是cmd
。
答案 1 :(得分:0)
试试这个:
C:/PROGRA~1/R/R-3.4.3/bin/Rscript.exe "C:\Users\Scott\Desktop\Bundle_Runner.R"
C:/PROGRA~1/R/R-3.4.3/bin/Rscript.exe C:/Users/Scott/Google~1/RScriptsB/Bundle_Runner.R
答案 2 :(得分:0)
这可能与r-devel(“RScript.exe for 3.5.0中的[Rd] Bug”,https://stat.ethz.ch/pipermail/r-devel/2018-April/075869.html)报告的错误有关,该错误已在第二天修复。
也许这个问题已经存在于R 3.4.3中(您在问题中使用)。
建议的解决方法:
...添加一个没有空格的额外第一个参数,例如
Rscript --vanilla "foo bar.R"
尽量减少--vanilla
可能导致的影响
Rscript --no-save "foo bar.R"
而是(在会话结束时不会保存工作区)。