密码不能在unzip
(utils
)函数中指定。我所知道的另一个功能是getZip
(Hmisc
),仅适用于包含一个压缩文件的zip文件。
我想做这样的事情来解压缩Windows 8中foo.zip中的所有文件:
unzip("foo.zip", password = "mypass")
我发现这个问题非常有用,但看到没有发布正式答案,所以这里是:
7z
命令是从命令行识别的。system("7z x secure.7z -pPASSWORD")
输入PASSWORD
。我有多个压缩文件,我宁愿不在源代码中显示密码或存储在任何文本文件中,所以我编写了以下脚本:
file_list <- list.files(path = ".", pattern = ".7z", all.files = T)
pw = readline(prompt = "Enter the password: ")
for (file in file_list) {
sys_command = paste0("7z ", "x ", file, " -p", pw)
system(sys_command)
}
在sourced时会提示我输入密码,zip文件将在循环中解压缩。
密码< - “您的密码”
system(command = paste0(“unzip -o -P”,password,“”,“yourfile.zip”),wait = TRUE)