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

如何配置nops_eval()生成适配Moodle的反馈文件夹命名格式?

实现nops_eval()自动生成符合Moodle要求的反馈文件夹命名

完全可以通过R代码实现自动重命名,具体步骤如下:

1. 读取评分CSV的学生信息

先将包含学生全名和ID的评分工作表导入R环境,建立信息关联:

# 替换为你的评分CSV文件路径
student_info <- read.csv("path/to/grading_sheet.csv", stringsAsFactors = FALSE)
# 假设CSV列名为"Fullname"和"IDnumber",请根据实际列名调整
names(student_info) <- c("Fullname", "IDnumber")

2. 运行nops_eval()生成初始反馈

按常规流程执行nops_eval()生成初始反馈文件夹(默认命名一般以学生ID或考试标识为主):

# 替换为你的nops_eval()参数
nops_eval(
  exam = "your_exam_file.Rmd",
  solutions = "your_solutions_file.R",
  scans = "path/to/scans",
  results = "path/to/initial_feedback" # 指定初始反馈输出路径
)

3. 批量重命名为Moodle要求的格式

遍历初始反馈文件夹下的子文件夹,匹配学生信息后批量重命名:

# 获取初始反馈路径下的所有子文件夹
initial_folders <- list.dirs("path/to/initial_feedback", recursive = FALSE)

# 逐个匹配并重命名
for (folder in initial_folders) {
  # 提取默认文件夹名(假设默认文件夹名等于学生ID,若不是需调整匹配逻辑)
  folder_id <- basename(folder)
  # 匹配对应学生的全名和ID
  matched_student <- student_info[student_info$IDnumber == folder_id, ]
  
  if (nrow(matched_student) > 0) {
    # 构造Moodle要求的文件夹名称
    new_folder_name <- paste0(matched_student$Fullname, "_", matched_student$IDnumber, "_assignsubmission_file_")
    new_folder_path <- file.path(dirname(folder), new_folder_name)
    # 执行重命名
    file.rename(folder, new_folder_path)
  }
}

注意事项

  • 如果nops_eval()默认生成的文件夹名不是纯ID,需要调整提取匹配标识的逻辑(比如从文件夹名中截取学号片段)。
  • 确保CSV中的IDnumber与默认文件夹的标识完全一致,避免匹配失败。
  • 重命名前建议备份初始反馈文件夹,防止操作失误丢失数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:27:10