子文件夹名称列表、文件夹路径和修改日期字段
List of subfolders names, folder path and date modified field
需要在 R 中编写一段代码来创建一个列表,指定:
- 具有预设深度(例如向下 2 层)的子文件夹的名称
- 路径
- 修改日期
我曾尝试使用以下通用函数,但没有成功:
list.files(path, pattern=NULL, all.files=FALSE,
full.names=FALSE)
dir(path, pattern=NULL, all.files=FALSE,
full.names=FALSE)
非常感谢您的回复。
我认为您缺少的是 list.files()
中的 recursive = TRUE
参数
一个可能的解决方案是先列出所有文件,然后相应地将输出限制为 2 个级别。
files <- list.files(path = "D:/cmder/", recursive = TRUE)
由于 R 使用“/”表示路径,如果您需要 2 的深度,一个简单的示例可能是删除所有超过 3 个斜杠的内容。
files[!grepl(".*/.*/.*/.*", files)]
小心 windows,因为有时您可能会在那里看到反斜杠“\”,前提是您的路径信息来自与 R 本身不同的东西,例如csv 导入。
我的 grepl()
陈述可能可以改进,因为我不是那里的专家。
需要在 R 中编写一段代码来创建一个列表,指定:
- 具有预设深度(例如向下 2 层)的子文件夹的名称
- 路径
- 修改日期
我曾尝试使用以下通用函数,但没有成功:
list.files(path, pattern=NULL, all.files=FALSE,
full.names=FALSE)
dir(path, pattern=NULL, all.files=FALSE,
full.names=FALSE)
非常感谢您的回复。
我认为您缺少的是 list.files()
recursive = TRUE
参数
一个可能的解决方案是先列出所有文件,然后相应地将输出限制为 2 个级别。
files <- list.files(path = "D:/cmder/", recursive = TRUE)
由于 R 使用“/”表示路径,如果您需要 2 的深度,一个简单的示例可能是删除所有超过 3 个斜杠的内容。
files[!grepl(".*/.*/.*/.*", files)]
小心 windows,因为有时您可能会在那里看到反斜杠“\”,前提是您的路径信息来自与 R 本身不同的东西,例如csv 导入。
我的 grepl()
陈述可能可以改进,因为我不是那里的专家。