2011-01-07 32 views
13

Klasörlerden bir zip dosyası oluşturmanın mümkün olup olmadığını merak ediyorum. Bir klasörüm var ve bu klasörlerde dört klasör var ve orada farklı türde dosyalar var. Şimdi bu dört klasörü kendi dosyalarıyla yinelemeli olarak sıkıştırmak istiyorum. Klasörden zip dosyası oluşturma

Ben save() ve gzip() denedik ama onlar ne istiyorum yapmazlar.

birisi benim için bir ipucu Has?

cevap

6

Rcompression paket yapabilir.

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

fazla örnek için ?zip bakınız: İşte minimal bir örnektir.

+0

Cevabınız için teşekkür ederiz. Bunu deneyeceğim. –

+0

Bu örnek, çoğunlukla benim durumumda bana yardımcı oldu. Teşekkür ederim! –

+2

"paste (..., sep ="/")' yerine 'file.path 'kullanın. –

1

Sen odfWeave package kaynaklarında ipuçları aramaya başladı.

Eğer kitaplığı yüklenemedi ve odfWeave yazarsanız, çok uzun değildir ve sıkıştırma ve sistem çağrıları ile de Ayıklama uygulayan kaynağı alacak. Postadölesan kaynaklardan

, gibi bir şey yapabileceğini: Elbette

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

zip kurulmalıdır. Omegahat de

+0

teşekkürler. Bunu deneyeceğim. –

18

Tar komutunu belirtin. Zip olmasa da sıkıştırılmış bir tar dosyası aynı derecede iyidir. Yanıtınız için

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

Katranın da çapraz platform olduğunu söylemeyi unuttum. – Jeff

+3

+1 Bunun R! De mümkün olduğunu düşünmemiştim. –

+0

Cevabınız için teşekkürler. Kulağa hoş geliyor ama benim durumumda .zip'e ihtiyacım var. Ama bunu aklımda tutuyorum :) –

İlgili konular