R语言实现按日期加版本号创建子文件夹 已存在则自动递增版本号
R代码实现自增版本号创建日期命名文件夹
你可以直接用while循环实现版本号递增查找的逻辑,完整可运行代码如下:
main_dir <- "some_path" # 预生成固定的当日日期前缀,避免循环中跨零点导致日期错乱 date_prefix <- format(Sys.time(), '%Y%m%d.') version <- 0 # 循环查找首个未被占用的版本号 while (TRUE) { current_subdir <- paste0(date_prefix, version) full_dir_path <- file.path(main_dir, current_subdir) if (!dir.exists(full_dir_path)) { dir.create(full_dir_path) message("已创建文件夹:", full_dir_path) break } version <- version + 1 }
代码逻辑说明:
- 提前提取当日日期前缀,不需要在循环中重复获取时间,避免运行到零点时出现前后日期不一致的异常
- 版本号从0开始依次递增,每次拼接完整路径后判断文件夹是否存在,找到第一个不存在的路径就创建并终止循环
- 其中
message语句仅用于输出创建结果做校验,不需要可以直接删除
该实现完全覆盖了你原有代码的判断逻辑,不需要额外保留原来的if else分支,循环本身已经处理了版本0不存在直接创建的场景。
内容的提问来源于stack exchange,提问作者bziggy
相关产品推荐
相关产品推荐

