Создание zip файла из папок

Мне интересно, можно ли создать zip файл из папок. У меня есть одна папка, и в этих папках есть четыре папки, и там есть разные типы файлов. Теперь я хочу реплицировать эти четыре папки с их файлами.

Я пробовал save() и gzip(), но они не делают того, что я хочу.

Кто-нибудь подскажет мне?

Ответы

Ответ 1

Пакет Rcompression в Omegahat может это сделать. Вот минимальный пример:

library(Rcompression)
d <- "C:/my_data"
files <- list.files(d, recursive=TRUE)
zip("myarchive.zip", files=paste(d, files, sep="/"), altNames=files)

Подробнее см. ?zip.

Ответ 2

Освободите команду tar. Хотя это не zip, сжатый tar файл так же хорош.

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

Ответ 3

Вы можете найти подсказки в источниках odfWeave package.

Если вы загружаете библиотеку и набираете odfWeave, вы получите источник, который не слишком длинный, и реализует зачистку и распаковку также с системными вызовами.

Из этих источников вы можете сделать что-то вроде:

filename = '' # set archive filename
loc = ''      # set location, if not done before
setwd(loc)
zipCmd = paste("zip -r ", filename, " .", sep='')
system(zipCmd, invisible = TRUE) 

Конечно, zip должен быть установлен.