touchFile.Rd
Updates the timestamp of a file. Currently, it is only possible to change the timestamp specifying when the file was last modified, and time can only be set to the current time.
# S3 method for default
touchFile(pathname, ...)
Returns (invisibly) a vector
of the old timestamps.
Internally, Sys.setFileTime
() (iff available) and
file.info
() are utilized.
[1] R-devel mailing list thread
Unix-like touch to update modification timestamp of file?,
started on 2008-02-26.
https://stat.ethz.ch/pipermail/r-devel/2008-February/048542.html
# 1. Create a file
pathname <- tempfile()
cat(file=pathname, "Hello world!")
md5a <- digest::digest(pathname, file=TRUE)
# 2. Current time stamp
ta <- file.info(pathname)$mtime
print(ta)
#> [1] "2023-11-17 17:03:57 PST"
# 3. Update time stamp
Sys.sleep(1.2)
touchFile(pathname)
tb <- file.info(pathname)$mtime
print(tb)
#> [1] "2023-11-17 17:03:58 PST"
# 4. Verify that the timestamp got updated
stopifnot(tb > ta)
# 5. Verify that the contents did not change
md5b <- digest::digest(pathname, file=TRUE)
stopifnot(identical(md5a, md5b))