2011-01-07 224 views
13

我想知道是否可以從文件夾創建zip文件。我有一個文件夾,在這個文件夾中有四個文件夾,在那裏有不同種類的文件。現在我想用這些文件遞歸壓縮這四個文件夾。從文件夾創建zip文件

我試過save()gzip()但他們沒有做我想做的事。

有人給我提示嗎?

回答

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

+0

感謝您的回覆。我會試試這個。 – 2011-01-07 14:36:08

+0

這個例子對我來說幫助很大。謝謝! – 2011-01-10 12:30:50

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) 

當然,拉鍊必須安裝。

+0

感謝您的回覆。我會試試這個。 – 2011-01-07 13:38:18

18

將tar命令排除在外。雖然它不是zip,但壓縮的tar文件同樣好。

tarfile <- 'newfile.tgz' 
tar(tarfile,'/path/of/dir/to/tar/up',compression='gzip')