为了方便手动复制大文件量,我经常使用FreeFileSync .我注意到它保留了原始文件信息,例如文件的创建时间、上次修改时间等。
现在我需要以批处理模式定期复制大量文件,我想在 R 中进行。所以我想知道 R 是否也能够保留这些信息。 AFAIU, file.rename()
和 file.copy()
更改文件信息,例如时间设置为实际复制文件的时间。
文件复制后有什么办法可以恢复原来的文件信息吗?
最佳答案
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 调用的能力也可用于执行提升的 session (也许最简单的方法是使用 powershell 脚本调用 Robocopy),以便所有审计信息(权限等)也可以保留.
关于r - 在保留原始文件信息(创建时间等)的同时复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17065830/