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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。