all-unpacker
Wrapper for unar and lsar command line tool.
It allows you to unpack a lot of formats: zip, zipx, rar, 7z, tar, gzip, bzip2, lzma, cab, msi, cpio,... complete list
Installation
This package differs from fork https://github.com/krocon/node-unpack-all in that the necessary cli tool lsar and unar, will be downloaded to package directory at install time. If your host is Linux your package manager will be used to install unar onto your system. For more info see here.
Usage
var ua = require('all-unpacker');
ua.list(archiveFile<String>, options<Object>, callback<function>)
ua.unpack(archiveFile<String>, options<Object>, callback<function>)
Examples
Example: unpack file
require('all-unpacker')
.unpack('test/abc.rar', {
targetDir: 'out'
}, function(err, files, text) {
if (err) return console.error(err);
if (files) console.log('files', files);
if (text) console.log('text', text);
});
Example: list content
function cb(err, files, text) {
if (err) return console.error(err);
console.log('files', files);
}
require('all-unpacker').list('test/abc.rar', {}, cb);
Options
Key | Possible values | Comment |
---|
quiet | true/false (default) | true will reduce logging for unpacking |
targetDir | <String> | The directory to write the contents of the archive to. Defaults to the current directory. |
files | <String> | Only unpack this list of files or directories. |
forceOverwrite | true/false (default) | if null, tmp dir will created automatically |
forceDirectory | true/false/undefined | Always create a containing directory for the contents of the unpacked archive. By default, a directory is created if there is more than one top-level file or folder. |
noDirectory | true/false/undefined | Never create a containing directory for the contents of the unpacked archive. |
noRecursion | true/false/undefined | Do not attempt to extract archives contained in other archives. For instance, when unpacking a .tar.gz file, only unpack the .gz file and not its contents. |
copyTime | true/false/undefined | Copy the file modification time from the archive file to the containing directory, if one is created. |
password | <String> | The password to use for decrypting protected archives. |
passwordEncoding | <String> | The encoding to use for the password for the archive, when it is not known. If not specified, then either the encoding given by the -encoding option or the auto-detected encoding is used. |
encoding | <String> | The encoding to use for filenames in the archive, when it is not known. If not specified, the program attempts to auto-detect the encoding used. Use "help" or "list" as the argument to give |