changedFiles
位于 utils
包(package)。 说明
fileSnapshot
拍摄所选文件的快照,记录每个文件的摘要信息。 changedFiles
比较两个快照,或将一个快照与文件系统的当前状态进行比较。快照不必是同一目录;这可用于比较两个目录。
用法
fileSnapshot(path = ".", file.info = TRUE, timestamp = NULL,
md5sum = FALSE, digest = NULL, full.names = length(path) > 1,
...)
changedFiles(before, after, path = before$path, timestamp = before$timestamp,
check.file.info = c("size", "isdir", "mode", "mtime"),
md5sum = before$md5sum, digest = before$digest,
full.names = before$full.names, ...)
## S3 method for class 'fileSnapshot'
print(x, verbose = FALSE, ...)
## S3 method for class 'changedFiles'
print(x, verbose = FALSE, ...)
参数
path |
特征向量;要记录的路径。 |
file.info |
逻辑性;是否记录每个文件的 |
timestamp |
字符串或 |
md5sum |
逻辑性;是否应将每个文件的 MD5 摘要作为快照的一部分。 |
digest |
函数或 |
full.names |
逻辑性;是否应记录全名(如 |
... |
传递给 |
before, after |
|
check.file.info |
特征向量;应比较 |
x |
要打印的对象。 |
verbose |
逻辑性;打印时是否列出所有数据。 |
细节
fileSnapshot
函数使用 list.files
获取文件列表,并根据 file.info
、 md5sum
和 digest
参数记录有关每个文件的信息。
changedFiles
函数比较两个快照。
如果 fileSnapshot
的 timestamp
参数长度为 1,则会创建具有该名称的文件。如果 changedFiles
中的长度为 1,则使用 file_test
函数将 before
和 after
共有的所有文件的年龄与其进行比较。该测试可能不可靠:它将after
文件的当前修改时间与时间戳进行比较;这可能与拍摄 after
快照时的修改时间不同。如果保存时间戳的文件系统上的时钟与保存快照文件的时钟不同,也可能会给出不正确的结果。
如果 check.file.info
参数包含非空字符向量,则将比较 file.info
调用结果中的指示列。
如果md5sum
是TRUE
,fileSnapshot
将调用tools::md5sum
函数记录每个文件的32字节MD5校验和,changedFiles
将比较这些值。 digest
参数允许用户提供自己的摘要函数。
值
fileSnapshot
返回类 "fileSnapshot"
的对象。这是一个包含字段的列表
info |
一个 DataFrame ,其行名是文件名,其列包含请求的快照数据 |
path |
调用中的标准化 |
timestamp, file.info, md5sum, digest, full.names |
调用中其他参数的记录 |
args |
其他参数通过 |
changedFiles
生成 "changedFiles"
类的对象。这是一个列表,其中包含
added, deleted, changed, unchanged |
快照之前和之后的文件名的字符向量,具有明显的含义 |
changes |
一个逻辑矩阵,其中一行代表每个公共文件,一列代表每个比较测试。 |
print
方法是为每种类型定义的。 "fileSnapshot"
对象的 print
方法显示用于生成它们的参数。而 "changedFiles"
则显示 added
、 deleted
和 changed
字段(如果非空),以及包含所有 TRUE
值的 changes
矩阵的子矩阵。
例子
# Create some files in a temporary directory
dir <- tempfile()
dir.create(dir)
writeBin(1L, file.path(dir, "file1"))
writeBin(2L, file.path(dir, "file2"))
dir.create(file.path(dir, "dir"))
# Take a snapshot
snapshot <- fileSnapshot(dir, timestamp = tempfile("timestamp"), md5sum=TRUE)
# Change one of the files.
writeBin(3L:4L, file.path(dir, "file2"))
# Display the detected changes. We may or may not see mtime change...
changedFiles(snapshot)
changedFiles(snapshot)$changes
作者
Duncan Murdoch, using suggestions from Karl Millar and others.
也可以看看
相关用法
- R charClass 人物分类
- R chooseBioCmirror 选择 Bioconductor 镜像
- R chooseCRANmirror 选择 CRAN 镜像
- R choose.dir 在 MS Windows 上交互式选择文件夹
- R choose.files 在 MS Windows 上交互式选择文件列表
- R create.post 准备电子邮件和帖子的辅助函数
- R cite 引用参考书目条目
- R citation 在出版物中引用 R 和 R 包
- R citEntry 参考书目条目(旧接口)
- R count.fields 计算每行的字段数
- R combn 生成 n 个元素的所有组合,一次取 m 个
- R compareVersion 比较两个包版本号
- R clipboard 在 MS Windows 中从剪贴板读取/写入
- R contrib.url 在类似 CRAN 的存储库中查找适当的路径
- R close.socket 关闭套接字
- R capture.output 将输出发送到字符串或文件
- R select.list 从列表中选择项目
- R COMPILE 编译用于 R 的文件
- R readRegistry 读取 Windows 注册表配置单元
- R browseVignettes 在 HTML 浏览器中列出晕影
- R hasName 检查姓名
- R nsl 按主机名查找 IP 地址
- R edit 调用文本编辑器
- R hsearch-utils 帮助搜索实用程序
- R download.packages 从类似 CRAN 的存储库下载软件包
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Detect which Files Have Changed。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。