从R创建加密的压缩文件

时间:2015-11-02 17:10:15

标签: r

我一直在寻找谷歌和stackoveflow中我的答案的解决方案,但没有运气,我希望我不会问一些明显的事情。

是否可以从R创建加密(带密码)的zip文件? 假设我在R中创建了一堆xlsx文件并将它们放在一个公共文件夹中,我想抓住这些文件并使用密码对它们进行压缩,因此无论打开文件谁都需要输入预定义的密码。我需要从R自动执行此操作,因为我创建了许多文件并且手动进行加密是不可能的。

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:1)

也许你可以使用这样的东西:

zipPsw <- function(dir, fn=tempfile(fileext = ".zip"), psw, addFlags="") {
  stopifnot(Sys.which("zip")!="")
  zip(
    zipfile = fn, 
    files = path.expand(dir), 
    flags = paste0("-r --password ", psw, " ", addFlags)
  )
  return(fn)
}
zipPsw("~/Documents/mysubdir", psw="mypass", addFlags="-j")
# adding: foo.txt (152 bytes security) (stored 0%)
# adding: bar.txt (152 bytes security) (deflated 63%)
# [1] "C:\\Windows\\TEMP\\RtmpysNeBv\\file67703eed1b9d.zip"