UNZIP Extract file(s) from a zip archive
<< Click to Display Table of Contents >> Navigation: Robo-FTP User's Guide > Script Programming > Script Commands > All Script Commands > UNZIP Extract file(s) from a zip archive |
Syntax: |
UNZIP |
[ zip name ] [ path ] [ file ] [ /options ] |
Arguments: |
[ zip name ] |
A variable or string defining the name of a zip archive file; if .zip extension is omitted, Robo-FTP adds it automatically; if no folder is specified, Robo-FTP creates or opens the archive in its working folder. |
|
[ path ] |
A variable or string defining the path to the target folder to where files are to be extracted. Any folder specified must actually exist. You may pass an empty string but you may not simply omit the [ path ] argument. The current working folder is assumed if an empty string is specified. |
|
[ file ] |
A variable or string defining the file name(s) to be extracted. Wildcards are allowed. |
Options: |
/flat |
Extract all files into the folder specified by the [ path ] argument, ignoring any internal folder structure of the original zip archive file. WARNING: Use of this option will result in loss of data if two files in the zip archive have the same name. |
|
/nostatus |
Suppresses the display of the progress bar. |
|
/pw=xx |
Define password used when the zip archive was created. |
|
/skipexisting |
Do not extract files from the archive that already exist in the target path. |
|
/skipolder |
Do not extract files from the archive that are older than, or have the same date and time as existing files in the target path. |
|
/subdirs |
Extract files with associated folder names stored in the archive; this option must be selected if files are zipped into the archive using full path names (path information) are to be extracted. |
This script command extracts file(s) from an existing zip archive file. Upon completion of the command, the %unzipcount internal script variable contains the total number of files unzipped by this command.
Consider the following example which passes an empty string to the [ path ] argument so the file will be extracted to Robo-FTP’s current local working folder.
UNZIP "zipfile" "" "mydata.xml"
The example below extracts all the .jpg and .jpeg files in the specified archive to Robo-FTP’s working folder. (Files saved with path information will not be extracted unless the /subdirs option is specified.)
UNZIP "zipfile" "" "*.jpg|*.jpeg"
The example below extracts all the .xml files in the specified archive to Robo-FTP’s working folder and into subfolders that may have been saved in the archive. Relative path names of any files found in the archive are restored.
UNZIP "zipfile" "" "*.xml" /subdirs
The example below extracts a file named index.html from a password protected archive and saves it in a target folder named c:\mysite.
UNZIP "zipfile" "c:\mysite" "index.html" /pw=mysecret
The example below extracts all newer files in the specified archive to the specified target folder.
UNZIP "c:\temp\archive.zip" "c:\my files" "*" /skipolder
If you have multiple file to unzip, the example below shows a loop that gathers zip files, one by one, from the current folder and extracts all files in the specified archive to the specified target folder.
:loop
GETNEXTFILE "*.zip" /timeout=10
;; branch if no more zip files
IFERROR $ERROR_WAIT_TIMED_OUT GOTO no_file
UNZIP %nextfile "c:\myfiles" "*"
GOTO loop
:no_file
Note: When the TMPFILE command is active, the output [ file ] created by this command will have a different name until the extraction process is successfully completed.
Related command(s): ZIP, PGPENCRYPT, PGPDECRYPT, TMPNAME
See also: Data Compression