Space 中的参数导致 Windows 命令提示符中的错误
Space in argument causing errors in Windows Command Prompt
我正在尝试通过命令提示符 运行 R 脚本。我的操作系统是 Windows 10。我在 运行 编译代码时遇到问题,因为我的参数的文件路径中有一个 space。这是我粘贴到命令提示符中的内容。
"C:\Program Files\R\R-3.4.3\bin\Rscript.exe" "C:\Users\Scott\Google Drive\RScriptsB\Bundle_Runner.R"
I get this error:
The filename, directory name, or volume label syntax is incorrect.
但是,当我 运行 它使用没有 space 的文件路径时,它 运行 没问题。
"C:\Program Files\R\R-3.4.3\bin\Rscript.exe" "C:\Users\Scott\Desktop\Bundle_Runner.R"
当我通过 Task Scheduler 安排任务时会发生相同的行为:它不适用于 space,当我从文件路径中删除 space 时它会起作用。
我正在使用 Google Drive 从多台计算机同步工作,所以我希望能够 运行 我的脚本使用带 space 的文件路径。
有什么解决办法吗?
试试这个:
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
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
。
这可能与 r-devel 报告的错误有关(“[Rd] Bug in RScript.exe for 3.5.0”,https://stat.ethz.ch/pipermail/r-devel/2018-April/075869.html)已在第二天修复。
也许问题已经存在于 R 3.4.3(您在问题中使用)。
建议的解决方法:
...add an extra first argument that has no space in it, e.g. Rscript --vanilla "foo bar.R"
要尽量减少 --vanilla
造成的影响,您可以使用
Rscript --no-save "foo bar.R"
相反(只是在会话结束时不保存工作区)。
我正在尝试通过命令提示符 运行 R 脚本。我的操作系统是 Windows 10。我在 运行 编译代码时遇到问题,因为我的参数的文件路径中有一个 space。这是我粘贴到命令提示符中的内容。
"C:\Program Files\R\R-3.4.3\bin\Rscript.exe" "C:\Users\Scott\Google Drive\RScriptsB\Bundle_Runner.R"
I get this error:
The filename, directory name, or volume label syntax is incorrect.
但是,当我 运行 它使用没有 space 的文件路径时,它 运行 没问题。
"C:\Program Files\R\R-3.4.3\bin\Rscript.exe" "C:\Users\Scott\Desktop\Bundle_Runner.R"
当我通过 Task Scheduler 安排任务时会发生相同的行为:它不适用于 space,当我从文件路径中删除 space 时它会起作用。
我正在使用 Google Drive 从多台计算机同步工作,所以我希望能够 运行 我的脚本使用带 space 的文件路径。
有什么解决办法吗?
试试这个:
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
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
。
这可能与 r-devel 报告的错误有关(“[Rd] Bug in RScript.exe for 3.5.0”,https://stat.ethz.ch/pipermail/r-devel/2018-April/075869.html)已在第二天修复。
也许问题已经存在于 R 3.4.3(您在问题中使用)。
建议的解决方法:
...add an extra first argument that has no space in it, e.g.
Rscript --vanilla "foo bar.R"
要尽量减少 --vanilla
造成的影响,您可以使用
Rscript --no-save "foo bar.R"
相反(只是在会话结束时不保存工作区)。