从文件夹创建zip文件

时间:2011-01-07 10:02:59

标签: r

我想知道是否可以从文件夹创建一个zip文件。我有一个文件夹,在这个文件夹中有四个文件夹,在那里,有不同类型的文件。现在我想用他们的文件递归地压缩这四个文件夹。

我尝试了save()gzip(),但他们没有做我想做的事。

有人暗示我吗?

3 个答案:

答案 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。