Skip to contents

zip_process() returns an R6 class that represents a zip process. It is implemented as a subclass of processx::process.

Usage

zip_process()

Value

A zip_process R6 class object, a subclass of processx::process.

Using the zip_process class

zp <- zip_process()$new(zipfile, files, recurse = TRUE,
                         poll_connection = TRUE,
                         stderr = tempfile(), ...)

See processx::process for the class methods.

Arguments:

  • zipfile: Path to the zip file to create.

  • files: List of file to add to the archive. Each specified file or directory in is created as a top-level entry in the zip archive.

  • recurse: Whether to add the contents of directories recursively.

  • include_directories: Whether to explicitly include directories in the archive. Including directories might confuse MS Office when reading docx files, so set this to FALSE for creating them.

  • poll_connection: passed to the initialize method of processx::process, it allows using processx::poll() or the poll_io() method to poll for the completion of the process.

  • stderr: passed to the initialize method of processx::process, by default the standard error is written to a temporary file. This file can be used to diagnose errors if the process failed.

  • ... passed to the initialize method of processx::process.

Examples

dir.create(tmp <- tempfile())
write.table(iris, file = file.path(tmp, "iris.ssv"))
zipfile <- tempfile(fileext = ".zip")
zp <- zip_process()$new(zipfile, tmp)
zp$wait()
zp$get_exit_status()
#> [1] 0
zip_list(zipfile)
#>                    filename compressed_size uncompressed_size
#> 1         file18d624c556b0/               0                 0
#> 2 file18d624c556b0/iris.ssv            1126              4818
#>             timestamp permissions    crc32 offset
#> 1 2024-01-27 11:33:18         755 00000000      0
#> 2 2024-01-27 11:33:20         644 474bc924     47