我想知道是否可以从文件夹创建一个zip文件。我有一个文件夹,在这个文件夹中有四个文件夹,在那里,有不同类型的文件。现在我想用他们的文件递归地压缩这四个文件夹。
我尝试了save()
和gzip()
,但他们没有做我想做的事。
有人暗示我吗?
答案 0 :(得分:19)
指出tar命令的范围。虽然它不是zip,但压缩的tar文件也同样好。
tarfile <- 'newfile.tgz'
tar(tarfile,'/path/of/dir/to/tar/up',compression='gzip')
答案 1 :(得分:6)
Omegahat的Rcompression包可以做到这一点。这是一个最小的例子:
library(Rcompression)
d <- "C:/my_data"
files <- list.files(d, recursive=TRUE)
zip("myarchive.zip", files=paste(d, files, sep="/"), altNames=files)
有关更多示例,请参阅?zip
。
答案 2 :(得分:1)
您可以在odfWeave package的来源中查找提示。
如果您加载库并输入odfWeave,您将获得源,这不会太长,并且还可以通过系统调用实现压缩和解压缩。
从theese来源,您可以做类似的事情:
filename = '' # set archive filename
loc = '' # set location, if not done before
setwd(loc)
zipCmd = paste("zip -r ", filename, " .", sep='')
system(zipCmd, invisible = TRUE)
当然,必须安装zip。