复制文件,同时保留原始文件信息(创建时间等)

Rap*_*ter 7 r file-management windows-7 file-copying

为了便于手动复制大文件数量,我经常使用FreeFileSync.我注意到它保留了原始文件信息,例如文件创建时,上次修改等.

现在我需要定期以批处理模式复制大量文件,我想在R中这样做.所以我想知道R是否也能够保存这些信息.AFAIU,file.rename()file.copy()更改文件信息,例如将时间设置为文件实际复制的时间.

有没有办法在复制文件后恢复原始文件信息?

The*_*ell 1

Robocopy viasystem2()可以保留时间戳。

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

Robocopy 有大量适用于所有不同类型用例的开关,并且可以接受参数和文件名的“作业”文件。R 使用系统调用的能力也可用于执行提升的会话(也许最简单的方法是使用 powershell 脚本调用 Robocopy),以便也可以保留所有审核信息(权限等) 。