unzip {utils} | R Documentation

## Extract or List Zip Archives

### Description

Extract files from or list a zip archive.

### Usage

    unzip(zipfile, files = NULL, list = FALSE, overwrite = TRUE,
          junkpaths = FALSE, exdir = ".", unzip = "internal", setTimes = FALSE)

### Arguments

`zipfile` | The pathname of the zip file: tilde expansion (see `path.expand`) will be performed.
`files` | A character vector of recorded filepaths to be extracted: the default is to extract all files.
`list` | If `TRUE`, list the files and extract none. The equivalent of `unzip -l`.
`overwrite` | If `TRUE`, overwrite existing files, otherwise ignore such files. The equivalent of `unzip -o`.
`junkpaths` | If `TRUE`, use only the basename of the stored filepath when extracting. The equivalent of `unzip -j`.
`exdir` | The directory to extract files to (the equivalent of `unzip -d`). It will be created if necessary.
`unzip` | The method to be used. An alternative is to use `getOption("unzip"`), which on a Unix-alike may be set to the path to a `unzip` program.
`setTimes` | logical. For the internal method only, should the file time be set based on the times in the zip file? (NB: this applies to files, not to directories.

### Value

If `list = TRUE`, a data frame with columns `Name` (character) `Length` (the size of the uncompressed file, numeric) and `Date` (of class `"POSIXct"`).

Otherwise for the `"internal"` method, a character vector of the filepaths extracted to, invisibly.

### Note

The default internal method is a minimal implementation, principally designed for Windows' users to be able to unpack Windows binary packages without external software. It does not (for example) support Unicode filenames as introduced in `zip 3.0`: for that use `unzip = "unzip"` with `unzip 6.00` or later. (As from R 2.14.0 it does have support for files of more than 4GB and `bzip2` compression.)

If `unzip` specifies a program, the format of the dates listed with `list = TRUE` is unknown (on Windows it can even depend on the current locale) and the return values could be `NA` or expressed in the wrong timezone or misinterpreted (the latter being far less likely as from `unzip 6.00`).

File times in zip files are stored in the style of MS-DOS, as local times to an accuracy of 2 seconds. This is not very useful when transferring zip files between machines (even across continents), so we chose not to restore them by default.

### Source

The internal C code uses `zlib` and is in particular based on the contributed minizip application in the `zlib` sources (from http://zlib.net) by Gilles Vollant.

### See Also

`unz` to read a single component from a zip file.

`zip`.

[Package utils version 2.15.2 Index]