为了便于手动复制大量文件,我经常使用FreeFileSync。我注意到它保留了原始文件信息,例如文件创建时,上次修改等等。
现在我需要定期以批处理方式复制大量文件,我想在R中这样做。所以我想知道R是否也能够保存这些信息。 AFAIU,file.rename()
和file.copy()
会更改文件信息,例如时间设置为文件实际复制的时间。
有没有办法在复制文件后恢复原始文件信息?
答案 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),以便所有审计信息(权限等)也可以保留