Копирование файлов при сохранении исходной информации о файле (время создания и т. д.)

чтобы облегчить ручное копирование больших объемов файлов, я часто использую FreeFileSync. Я заметил, что он сохраняет исходную информацию о файле, например, когда файл был создан, последний раз изменен и т. д.

теперь мне нужно регулярно копировать тонны файлов в пакетном режиме, и я хотел бы сделать это в R. поэтому я задался вопросом, способен ли R сохранить эту информацию. AFAIU, file.rename() и file.copy() изменить информацию о файле, например, время устанавливается на время файлов были фактически скопированы.

есть ли способ восстановить исходную информацию о файле после копирования файлов?

1 ответов


Robocopy через system2() можно сохранить метки времени.

> cmdArgs<- paste( normalizePath( file.path(getwd()), winslash="/"),
 normalizePath( file.path(getwd(), "bkup"), winslash="/" ),
  "*.txt",
 "/copy:DAT /V" )
> system2( "robocopy.exe", args=cmdArgs )

Robocopy имеет множество переключателей для всех типов вариантов использования и может принимать файл "задания" для параметров и имен файлов. Возможность вызова R с помощью system также может быть использована для выполнения сеанса с повышенными правами (возможно, проще всего было бы использовать сценарий powershell для вызова Robocopy), чтобы вся информация аудита (разрешения и т. д.) Также могла быть сохранена.