【问题标题】:Find file owner in r在 r 中查找文件所有者
【发布时间】: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 输出分解为数据帧。需要进行一些数据分析(开始和结束位置),但值得。

标签: r file search


【解决方案1】:

为了让文件所有者进入一个数据框,比如;

library(tidyverse)
data <- tibble(path = list.files(path_to_harddrive, folder_string)) %>%
    mutate(user = file.info(path)$uname)

这对我来说似乎很慢,所以我想有一个更快的方法!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多