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

需求:用R语言批量为文件添加所在文件夹名称前缀

批量给文件添加父文件夹前缀的R实现方案

嘿,作为R新手碰到这种批量操作确实会有点懵,我来给你写个简单易懂的脚本,一步步帮你完成任务!

核心思路

我们要做的就是:

  • 定位到Tmin主文件夹,找出它下面的所有直接子文件夹
  • 逐个处理每个子文件夹,获取里面的目标文件
  • 把每个文件的文件名改成「子文件夹名_原文件名」的格式
  • 批量执行重命名操作

完整代码(带新手友好注释)

# 1. 设置你的主文件夹路径!!!
# Windows系统记得用双反斜杠(比如"C:\\Users\\XXX\\Tmin"),Mac/Linux用正斜杠
main_folder <- "你的Tmin文件夹实际路径"

# 2. 获取Tmin下的所有直接子文件夹路径(只拿一级子文件夹,不包含嵌套的深层文件夹)
sub_folders <- list.dirs(path = main_folder, recursive = FALSE)

# 3. 循环遍历每个子文件夹
for (folder in sub_folders) {
  # 提取当前子文件夹的名称(比如拿到"MACA_Miroc")
  folder_name <- basename(folder)
  
  # 获取当前文件夹下的所有.tiff文件(只处理tiff,避免误改其他类型文件)
  # full.names=TRUE是为了拿到文件的完整路径,不然R找不到具体文件位置
  files_to_rename <- list.files(path = folder, pattern = "\\.tiff$", full.names = TRUE)
  
  # 4. 循环处理当前文件夹里的每个文件
  for (file_path in files_to_rename) {
    # 提取原文件名(比如"name_date.tiff")
    original_filename <- basename(file_path)
    
    # 构造新文件名:子文件夹名 + 下划线 + 原文件名
    new_filename <- paste0(folder_name, "_", original_filename)
    
    # 构造新文件的完整路径(确保和原文件在同一个文件夹里)
    new_file_path <- file.path(folder, new_filename)
    
    # 执行重命名操作
    file.rename(from = file_path, to = new_file_path)
    
    # 可选:打印重命名日志,方便你确认操作是否符合预期
    print(paste("已完成重命名:", original_filename, "→", new_filename))
  }
}

新手必看提醒

  1. 先备份! 批量操作有风险,建议先把Tmin文件夹完整复制一份做备份,避免操作失误丢失文件
  2. 先测试! 可以先把file.rename那一行注释掉(前面加#),只运行打印语句,看看新文件名是不是你想要的格式,确认无误后再开启重命名
  3. 路径要填对! 一定要把main_folder改成你电脑上Tmin文件夹的实际路径,Windows用户注意路径里的斜杠是双反斜杠,Mac/Linux是单正斜杠

这样运行之后,所有子文件夹里的tiff文件都会自动加上父文件夹的前缀啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:18:55