【发布时间】:2017-09-07 00:37:14
【问题描述】:
有多种基本函数可用于获取有关文件的信息。现在我正在使用免费软件SearchMyFiles 来做到这一点。但是,我更愿意在 r 中进行。
我想在我的硬盘驱动器中搜索特定类型的文件夹,然后我想将在这些文件夹中找到的文件的路径和信息返回到数据框中,更具体地说,因为这些文件有不同的所有者我想要归还文件的所有者。
我试过的函数是file.info()和list.files()
但是,file.info(path, extra_cols = TRUE) 不会返回文件的所有者。相反,它返回:
size isdir mode mtime ctime atime exe
10689 FALSE 666 2017-03-01 12:00:47 2017-03-01 12:00:47 2017-03-01 12:00:47 no
1) 有没有办法通过file.info()找到主人
2) 是否有一种简洁的方法可以搜索具有特定名称的所有文件夹并返回有关在这些文件夹中找到的文件的信息?
有点像
list.files(path_to_harddrive, folder_string) %>%
file.info()
This question 解决了这个问题,但没有任何公认的答案。
> as.data.frame(Sys.info())
Sys.info()
sysname Windows
release 7 x64
version build 7601, Service Pack 1
machine x86
【问题讨论】:
-
您可以在一堆文件上运行
file.info,例如sapply(list.files(path_to_harddrive, folder_string), file.info)。不过不知道如何提取文件所有者。 -
你可以使用类似
system("cmd", input = "dir /q", intern = T)的东西来解析大块的旧文本。 -
伟大的@Vlo 返回所有者,但其格式不容易存储到数据框中。当然,我想你可以清理它,但应该有更简单的方法。
-
可以使用 substr() 函数将原始 CMD 输出分解为数据帧。需要进行一些数据分析(开始和结束位置),但值得。