7-ade is an archive expander build around 7-Zip for Windows. It provides double-click expansion of archives into the directory containing the archive, just like StuffIt Expander on the Macintosh from the old classic Mac days. If the archive contains multiple items at its root, then an enclosing folder is created automatically, named per the archive. Tarballs are fully expanded in a single action.
There is also a rule system, allowing (amongst other things) the choice target directory and whether to overwrite existing files to be chosen based on the name and path of the archive. There is room for expansion of this facility.
7-ade is an open source application programmed in AutoHotkey. It requires the revised ahk2exe for build directives. The installer is built using Inno Setup. All graphics were created using Inkscape.
The implementation is, of course, evil. 7z.exe (the command-line version) is opened in the background (as a hidden process) and used to list the archive, which is then parsed to get the list of files. From here, I can determine the best course of action. This is what I could never get to work in ActiveState Perl, but there is an AutoHotkey solution to this that finally makes this program possible.
Caveats
7-ade in its present default configuration has one big caveat that prevents me from recommending it universally. The native behaviour of Windows is to open the contents of an archive as a folder window. This approach works well when opening an archive directly inside an e-mail client or similar software. 7-ade handles these situations poorly: if you open an archive file attached to an e-mail, it will expand the archive into the mail client’s temporary folder and otherwise do nothing. The user is going to have no idea where their archive contents just went to.
The current rule engine permits workarounds based on the source folder (e.g. open the extracted folder if the archive file is located in Outlook’s temp folder), but the rule engine does not currently support identifying parent processes. The only reasonable default would seem to be to treat having File Explorer as a the parent process as a special case, and in all other instances, open a folder containing the extracted archive contents. (Singling out Explorer is better than trying to accommodate the variety of e-mail clients in use.)
Thus far, of the very few people known to have used 7-ade at some point in the past, this issue has never been raised by anyone. However, it is worth mentioning all the same.
Windows 11
7-Zip runs in Windows 11 but does not support it. The same is true of 7-ade. 7-ade still runs as it did before, but none of the context menu items are available in the standard File Explorer context menu. At this point in time, I’m not anticipating trying to figure out a lightweight build environment (nothing ghastly like Visual Studio) to build custom software just to get some menu items to appear.
Licence
- 7-ade and my associated code library is licensed under the terms of the zLib license.