1
2mkdirp <- function(dir, msg = NULL) {
3  s <- vlapply(dir, dir.create, recursive = TRUE, showWarnings = FALSE)
4  invisible(s)
5}
6
7file_get_time <- function(path) {
8  file.info(path)$mtime
9}
10
11file_set_time <- function(path, time = Sys.time()) {
12  assert_that(
13    is_character(path),
14    inherits(time, "POSIXct"))
15  vlapply(path, Sys.setFileTime, time = time)
16}
17
18## file.copy is buggy when to is a vector
19
20file_copy_with_time <- function(from, to) {
21  mkdirp(dirname(to))
22  if (length(to) > 1) {
23    mapply(file.copy, from, to,
24           MoreArgs = list(overwrite =  TRUE, copy.date = TRUE),
25           USE.NAMES = FALSE)
26  } else {
27    file.copy(from, to, overwrite = TRUE, copy.date = TRUE)
28  }
29}
30