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