【发布时间】:2019-07-15 15:50:47
【问题描述】:
我正在尝试从批处理文件中运行一个 R 脚本,这样它对于其他用户来说可以很好而且干净。目前,您将 CSV 文件拖放到批处理文件中,然后它将文件名传递给 R 脚本以供输入。
当文件路径/名称中有空格时,它在 RStudio 中可以正常工作,但是当我从批处理文件中调用它时会出现问题。当我这样做时,它会尝试在空格之前打开路径。
我尝试通过使用shortPathName(inputPath) 并用“\”替换空格从 R 中重新格式化文件路径,但它似乎不起作用。
目前,脚本已启动
"%~dp0\R-3.6.0\bin\R.exe" CMD BATCH "--args %~1" "%~dp0\Script.R"
脚本包含
args <- commandArgs(TRUE)
inputPath <- args[1]
inputPath <- shortPathName(inputPath)
inputData <- read.csv(inputPath)
它在 RStudio 中运行良好,但在从批处理启动时崩溃,并在输出文件中生成此错误消息:
文件错误(文件,“rt”):无法打开连接
调用:read.csv -> read.table -> 文件
另外:警告信息:
在文件中(文件,“rt”):
无法打开文件“到空间的文件路径”:没有这样的文件或目录
执行停止
【问题讨论】:
标签: r batch-file