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

时间:2013-06-12 12:44:14

标签: r windows-7 file-management file-copying

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

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

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

1 个答案:

答案 0 :(得分:1)

通过system2()的Robocopy可以保留时间戳。

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

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