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

R语言如何自动提取日期命名文件夹的最新日期并生成访问路径

R语言实现自动识别最新日期文件夹方案

以下提供两类适配不同场景的实现方案,均兼容你原有的赋值逻辑:

方案1:按文件夹名称的日期字段匹配(推荐,不受文件操作影响)

适合所有文件夹均严格按照YYYYMMDD8位数字格式命名的场景,直接通过名称匹配取值即可:

# 读取目标路径下所有一级文件夹名称
all_dirs <- list.dirs(path = "c:/Document/", full.names = FALSE, recursive = FALSE)
# 过滤出符合8位数字格式的日期文件夹,排除其他无关文件夹
valid_date_dirs <- grep("^\\d{8}$", all_dirs, value = TRUE)
# 可选:增加日期合法性校验,过滤掉格式合规但实际不存在的日期(如20230230)
date_objs <- as.Date(valid_date_dirs, format = "%Y%m%d")
valid_date_dirs <- valid_date_dirs[!is.na(date_objs)]
# 取最大日期赋值
datadate <- max(as.numeric(valid_date_dirs))
# 拼接路径
input_dir <- paste0("c:/Document/", datadate, "/")

如果你可以确保所有文件夹命名都是合法的日期格式,可以省略校验步骤,直接取最大值即可,代码更精简。

方案2:按文件夹实际修改/创建时间匹配

适合不需要依赖文件夹名称,只需要取最近操作过的文件夹的场景:

# 获取所有一级文件夹的属性信息
dir_info <- file.info(list.dirs("c:/Document/", full.names = TRUE, recursive = FALSE))
# 按修改时间排序取最新的文件夹,提取名称赋值
latest_dir_path <- rownames(dir_info)[which.max(dir_info$mtime)]
datadate <- basename(latest_dir_path)
# 拼接路径
input_dir <- paste0("c:/Document/", datadate, "/")

把代码中的mtime改为ctime即可切换为按文件夹创建时间匹配。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 01:45:04