zip_process()
returns an R6 class that represents a zip process.
It is implemented as a subclass of processx::process.
Value
A zip_process
R6 class object, a subclass of
processx::process.
Using the zip_process
class
<- zip_process()$new(zipfile, files, recurse = TRUE,
zp 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 toFALSE
for creating them.poll_connection
: passed to theinitialize
method of processx::process, it allows usingprocessx::poll()
or thepoll_io()
method to poll for the completion of the process.stderr
: passed to theinitialize
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 theinitialize
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