Update 17.07.2019:
- Added v0.9.8 release
Latest changelog:
Download current version: Download older versions(s) Old Downloads: 324******************************************************************************
@Changelog:
v0.9.8:
+ Added a pattern to recognize "*.rar.<3 digit incrementing number>" files
v0.9.7:
* Fixed a bug with CleanUpFolder = true when the destination folder contains not only one subfolder
but at least one additional file
* New icon by courtesy of kunkel321
v0.9.6:
* Fixed the GUI bug that files aren't visible when DstInactivePane=1
* Fixed a bug for destination folder cleanup when CleanUpFolder=1
* Minor changes to the xy script
******************************************************************************
Description:
Here is one of my scripts that I use on a daily basis.
It extracts single / multiple (selected) archives into one or multiple folders (based on your selection and user input), cleans up the remainings and deletes the archives afterwards. The whole process is now separated from XYplorer so you can now minimize, switch tabs or even quit it while Extractor is still able to finish it's work.
Supported archive tools:
7-Zip (http://7-zip.org/) - GUI / CLI versions
Bandizip (http://www.bandicam.com/bandizip/)*
ExtractNow (http://www.extractnow.com/)
FreeArc (http://freearc.org/)
PACL (http://www.powerarchiver.com/de/powerar ... ne-pacl-2/)
WinRAR (http://www.rarlab.com/)
WinZip (http://www.winzip.com/)
*Bandizip isn't able to overwrite existing files without asking for permissions.
Options (must be set inside the .ini configuration file):
- CleanUpFolder (default=1): You can choose if you want the script to move a single folder (only if it is the only one inside the destination folder) one level up and rename it accordingly
Example: An archive (let's call it: "In the mood.zip") contains only one folder named "Music" with several subfolders / files. Let's assume we're on drive "E:\" in the "Temp" folder and extract this archive.
The result would look like this:
Code: Select all
E:\Temp\In the mood\Music\<files and subfolders>
Code: Select all
E:\Temp\In the mood\<files and subfolders>
- DstInactivePane (default=0): By default (value = 0) the current path of the selected archive is used to extract it. If you set it to 1 the path of the inactive pane is used instead. Be careful, if dual pane is not active, it still uses the inactive pane even if it isn't visible!
If you decide not to delete any files you can close this window by:
Press "Esc"
Press "Alt + c"
Click the cancel button
If you want to select / deselect all files:
Right click in the listview to get the context menu
Click the toggle checkmark in the bottom right corner
Press "Alt + t"
The attachment contains Extractor.ahk, Extractor.ico, Extractor.exe (already compiled) and Extractor.ini.
Currently supported archive types are:
Single part archives:
- .zip & .rar (classic)
Multipart archives:
- .001 | .7z.<digit(s)> (7z format)
- .zip | .z01 | .z<digit(s)> (old zip format)
- .zipx | .zx01 | .zx<digit(s)> (new zip format)
- .rar | .r<digit(s)> (old rar format)
- part1.rar | part<digit(s)>.rar (new rar format)
- .rar.001 (rar format)
Depending on the used application:
- .ace
- .cab
- .gz | .tar | .tar.gz | .tgz
- .img | .iso | .vhd | .wim
etc.
Usage:
Copy the Extractor.exe and Extractor.ini to any directory you like.
E.g.: "<xypath>\Tools\Extractor"
Use this little script to invoke Extractor.exe (ofc you have to select one or multiple supported archive files before):
>= v0.9.5
Code: Select all
run """<path to Extractor.exe>"" ""<get SelectedItemsPathNames |>"" ""<get Path i>""";
Code: Select all
run """<path to Extractor.exe>"" ""<get SelectedItemsPathNames |>""";
Open "Extractor.ini" and change the "Application" key in the [General] section to one of the titles of the other sections.
E.g.:
Code: Select all
Application=7-Zip
Code: Select all
Application=WinRAR
- CleanUpFolder to "1" (for true) or "0" (for false)
- DeleteArchives to "1" or "0"
- DstInactivePane to "1" or "0"
If Extractor.exe can't find the application because of a different path on your system it'll ask for the necessary .exe and stores it back into the .ini file.
Don't change ExtractArgs1 or ExtractArgs2 keys otherwise you'll break the script.
You can delete any section (apart from the [General]) that you don't need / don't use.
E.g.: If you only work with WinRAR you are free to use only the following .ini file content:
Code: Select all
[General]
Application=WinRAR
CleanUpFolder=1
DeleteArchives=1
DstInactivePane=0
[WinRAR]
AppFilePath=C:\Program Files\WinRAR\Winrar.exe
ExtractArgs1=x -kb -o+
Extensions=rar,zip,7z,001,ace,cab,iso,tar,tgz
; "<AppFilePath>" $extractArgs1 "<archive>" "<destination folder>\"
; WinRAR needs a trailing slash for the destination folder
The old version (a .xys script) is gone. It makes no sense to use scripting in this case while VBScript doesn't support threading (or at least: XYplorer doesn't support it within scripting)
Since v0.9.4 relative paths are supported (at least ".\" or (a combination of) "..\").
These paths are relative to the folder in which Extractor.exe is stored!
Code: Select all
E.g.:
Extractor.exe may be placed in "D:\Tools\XYplorer\Tools\Extractor"
than:
AppFilePath=.\Winrar\Winrar.exe
Would resolve to "D:\Tools\XYplorer\Tools\Extractor\Winrar\Winrar.exe"
or
AppFilePath=..\..\Winrar\Winrar.exe
Would resolve to "D:\Tools\XYplorer\Winrar\Winrar.exe"