# Function to unzip input files and rename them in R # Files which are not zipped will be just renamed # # Author: Matthias Hinz ############################################################################### unzipRename = function(file, name, ext){ t=unzip(file) baseFileName = paste(name,ext,sep=".") if(length(t)==0){ file.rename(file, baseFileName) return(baseFileName) } for(i in t){ suffix = gsub("./","",i) suffix = unlist(strsplit(i,"\\.")) if(length(suffix)>1){ suffix = suffix[length(suffix)] suffix = paste(".",suffix,sep="") }else suffix = "" newName = paste(name,suffix,sep="") file.rename(i, newName) } return(baseFileName) } zipShp = function(file){ base = unlist(strsplit(file,"\\."))[1] shx = paste(base,"shx", sep=".") dbf = paste(base,"dbf", sep=".") prj = paste(base,"prj", sep=".") zip = paste(base,"zip", sep=".") zip(zip, c(file,shx,dbf,prj)) if(zip %in% dir()) return(zip) else return(NULL) }