R,获取Windows中文件名中完整的文件路径字符串(空格和更多)

时间:2018-08-20 09:27:18

标签: r windows file

肯定是一个老问题,但是我找不到解决方案(也许没有解决方案)。在Unix上,直接使用R函数file.path获取某个文件的路径是很直接的。当路径中的空格返回~时,在Windows下如何做同样的事情。 如果我需要编写,请说出Rscript.exe的路径到​​文件,这将适用于Unix:

x <- list.files(R.home("bin"), full.names = T, pattern = "Rscript")
writeLines(x, con = "path_to_rscript.txt")

在Windows上,结果为:

C:/PROGRA~1/R/R-35~1.1/bin/x64/Rscript.exe

在什么地方我想要这样的东西:

C:/Program Files/R-3.5.1/bin/x64/Rscript.exe

是否有一种方法可以避免这种行为(大写的PROGRA有什么用?)。

1 个答案:

答案 0 :(得分:4)

确实,结帐normalizePath

normalizePath(path, winslash = "\\", mustWork = NA)

其中明确指出:

  

在Windows上,它将相对路径转换为绝对路径,转换   路径元素到长名称的短名称,并确保分隔符   是winslash指定的。它将不区分大小写地匹配路径   并返回标准案例。 UTF-8编码的路径在   可以使用当前语言环境。