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

如何使用R语言批量设置多个文件的创建日期属性

R 批量修改文件创建时间实操方案

你已完成日期与文件名对应表构建的前提下,可按以下步骤操作,数百个文件也可以批量完成:

步骤1:安装依赖包(仅首次运行需要)

install.packages("fs")
library(tidyverse)
library(lubridate)
library(fs)

步骤2:校验文件存在性

先确认所有待处理文件都能被R访问,避免运行时报错:

# 若文件不在当前工作目录,可先补充完整路径,示例:
# df$Name <- paste0("D:/your_files_folder/", df$Name)

# 检查所有文件是否存在
missing_files <- df$Name[!fs::file_exists(df$Name)]
if (length(missing_files) > 0) {
  stop(paste("缺失文件:", paste(missing_files, collapse = "、")))
}

步骤3:批量修改文件时间

通用跨平台方案(优先使用)

fs包会自动适配不同操作系统,Windows下可直接修改创建时间,macOS/Linux下若创建时间未生效可使用对应系统专属方案:

purrr::pwalk(df, function(Name, Date) {
  target_time <- as.POSIXct(Date)
  fs::file_touch(
    path = Name,
    modification_time = target_time,
    access_time = target_time
  )
})

macOS 专属方案

purrr::pwalk(df, function(Name, Date) {
  time_format <- format(Date, "%m/%d/%Y 00:00:00")
  system(paste0("SetFile -d '", time_format, "' ", shQuote(Name)))
})

Linux 专属方案

purrr::pwalk(df, function(Name, Date) {
  time_format <- format(Date, "%Y%m%d%H%M.%S")
  system(paste0("touch -t ", time_format, " ", shQuote(Name)))
})

步骤4:校验修改结果

运行以下代码可查看文件的实际创建时间和修改时间,确认是否符合预期:

fs::file_info(df$Name) %>% 
  dplyr::select(file_path = path, 创建时间 = birth_time, 修改时间 = modification_time)

注意事项

  • 操作前建议先备份所有待处理文件,避免误操作丢失数据
  • 只读文件、加密文件可能修改失败,遇到报错可单独排查对应文件的权限设置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:06:05