You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows系统下R使用list.files()获取不含~缩写的文件完整路径

解决R在Windows下获取文件路径出现~缩写的方案

使用list.files()时必须开启full.names = TRUE参数,才能拿到完整路径前缀,否则仅返回文件名无法做后续转换。

  • 方法1:基础包原生函数normalizePath()直接转换
    这是最便捷的无依赖方案,直接对list.files()的返回结果套入该函数即可解析为完整长路径,示例代码:
    # 原获取文件列表代码
    raw_file_list <- list.files(path = "C:/你的/长路径/文件夹", full.names = TRUE)
    # 转换为无缩写的完整长路径
    full_file_paths <- normalizePath(raw_file_list, winslash = "/", mustWork = FALSE)
    
    参数说明:
    • winslash:指定Windows系统下的路径分隔符,设为/可避免反斜杠转义带来的额外处理成本
    • mustWork:设为FALSE时,遇到失效路径不会直接抛出错误,仅返回原路径
  • 方法2:使用fs包获取标准长路径
    如果你日常已经在使用fs包处理文件系统操作,其内置的dir_ls()函数默认返回标准长路径,不会触发Windows短路径缩写机制,示例代码:
    library(fs)
    full_file_paths <- dir_ls(path = "C:/你的/长路径/文件夹")
    
    该返回结果可直接通过as.character()转换为字符串格式的路径使用。
注意事项
  • 如果需要批量处理大量路径,normalizePath()的处理效率完全满足常规使用需求,不需要额外依赖第三方包
  • 不要手动通过字符串替换处理~缩写,不同Windows设备的短路径映射规则可能存在差异,手动替换容易出现路径失效问题

内容的提问来源于stack exchange,提问作者Brian Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 23:15:04