Создание zip-файла из папок - PullRequest
13 голосов
/ 07 января 2011

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

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

Ответы [ 3 ]

19 голосов
/ 07 января 2011

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

tarfile <- 'newfile.tgz'
tar(tarfile,'/path/of/dir/to/tar/up',compression='gzip')
6 голосов
/ 07 января 2011

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

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

См. ?zip для дополнительных примеров.

1 голос
/ 07 января 2011

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

Если вы загрузите библиотеку и наберете 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 должен быть установлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...