r - R,获取Windows中文件名中的完整文件路径字符串(空格等)
问题描述
当然是一个老问题,但我找不到解决方案(也许没有)。在 Unix 上,直接使用 R 函数file.path
来获取某个文件的路径。当路径中的空格以~
. 如果我需要写,说 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 是什么?)。
解决方案
确实,结帐normalizePath:
normalizePath(path, winslash = "\\", mustWork = NA)
其中明确指出:
在 Windows 上,它将相对路径转换为绝对路径,将 路径元素的短名称转换为长名称,并确保分隔符是由 winslash 指定的。它将不区分大小写地匹配路径并返回规范大小写。可以使用在当前语言环境中无效的 UTF-8 编码路径。
推荐阅读
- mysql - 如何将某些列数据从第一个表移动到第二个表。并在单个查询中用不同的数据填充第二个表的其他列
- mysql - 查询获取两个表数据组合
- php - MS SQL Server + PHP:如何使用多个表进行适当的可选多条件搜索
- jquery - 如何在 jQuery 中使用两个东西
- node.js - REACT 使用 redux 从 nodeJS crud 获取数据
- bios - 在 BIOS 联想桌面中启用 vt-x
- php - Yii2网格:按计算出的数值或公式列排序
- c++ - C++项目中ffmpeg的CMake配置
- javascript - Angular 4 - ngFor 不会重新渲染整个 DOM
- hosting - 使用 hybridauth 插件托管 cakephp 应用程序的问题