【问题标题】:List of subfolders names, folder path and date modified field子文件夹名称列表、文件夹路径和修改日期字段
【发布时间】:2021-05-27 13:24:03
【问题描述】:

需要在 R 中编写一段代码来创建一个指定列表:

  • 具有预设深度(例如向下 2 层)的子文件夹名称
  • 路径
  • 修改日期

我尝试使用以下通用函数,但没有成功:

list.files(path, pattern=NULL, all.files=FALSE,
    full.names=FALSE)
dir(path, pattern=NULL, all.files=FALSE,
    full.names=FALSE)

非常感谢您的回复。

【问题讨论】:

    标签: r subdirectory last-modified


    【解决方案1】:

    我认为您缺少的是list.files() 中的recursive = TRUE 参数

    一种可能的解决方案是首先列出所有文件,然后将输出相应地限制为 2 个级别。

    files <- list.files(path = "D:/cmder/", recursive = TRUE)
    

    由于 R 使用“/”表示路径,因此如果您需要 2 的深度,则一个简单的示例可能是删除斜线超过 3 个的所有内容。

    files[!grepl(".*/.*/.*/.*", files)]
    

    在 Windows 上要小心,因为有时您可能会在此处看到反斜杠“\”,前提是您的路径信息来自与 R 本身不同的东西,例如一个 csv 导入。

    我的grepl() 声明可能会有所改进,因为我不是那里的专家。

    【讨论】:

    • 对于日期修改信息,您可以使用 file.info(files) 但您需要在 file.list() 中设置参数 full.names = TRUE。而且您需要扩展 grepl() 语句以最终查找更多斜杠。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 2020-05-09
    • 2013-06-27
    • 1970-01-01
    相关资源
    最近更新 更多