Skip to content

Instantly share code, notes, and snippets.

@zabbarob
Last active January 13, 2025 15:09
Show Gist options
  • Save zabbarob/5891200 to your computer and use it in GitHub Desktop.
Save zabbarob/5891200 to your computer and use it in GitHub Desktop.
WARNING: This gist is from 2013 and will likely no longer work with current versions of 7-Zip and Windows. - Make 7-Zip extract to folder when double-clicking archives.(based on http://superuser.com/a/447791)
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\7-Zip.001\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.001\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.001\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.7z\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.7z\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.7z\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.arj\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.arj\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.arj\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.bz2\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.bz2\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.bz2\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.bzip2\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.bzip2\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.bzip2\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.cab\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.cab\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.cab\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.cpio\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.cpio\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.cpio\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.deb\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.deb\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.deb\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.dmg\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.dmg\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.dmg\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.fat\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.fat\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.fat\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.gz\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.gz\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.gz\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.gzip\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.gzip\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.gzip\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.hfs\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.hfs\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.hfs\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.iso\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.iso\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.iso\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.lha\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.lha\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.lha\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.lzh\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.lzh\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.lzh\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.lzma\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.lzma\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.lzma\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.ntfs\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.ntfs\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.ntfs\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.rar\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.rar\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.rar\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.rpm\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.rpm\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.rpm\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.squashfs\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.squashfs\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.squashfs\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.swm\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.swm\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.swm\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.tar\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.tar\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.tar\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.taz\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.taz\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.taz\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.tbz\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.tbz\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.tbz\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.tbz2\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.tbz2\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.tbz2\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.tgz\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.tgz\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.tgz\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.tpz\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.tpz\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.tpz\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.txz\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.txz\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.txz\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.vhd\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.vhd\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.vhd\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.wim\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.wim\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.wim\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.xar\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.xar\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.xar\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.xz\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.xz\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.xz\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.z\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.z\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.z\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
[HKEY_CLASSES_ROOT\7-Zip.zip\shell]
@="extract"
[HKEY_CLASSES_ROOT\7-Zip.zip\shell\extract]
@="Extract to Folder"
[HKEY_CLASSES_ROOT\7-Zip.zip\shell\extract\command]
@="\"C:\\Program Files\\7-Zip\\7zG.exe\" x \"%1\" -o*"
@idarek
Copy link

idarek commented Sep 29, 2024

The script above is no longer working in 23H2 on its own with ZIP files as Windows Explorer keeps intercepting compressed files and prevent them from opening in programs like 7zip.

There is a bypass to that by going to Settings > Applications > Default Apps

and searching for extension .zip.

Then, but clicking on Explorer, you can change the association to a different program. If you change it to 7-Zip GUI, the files will be associated in the system to 7zip and double click on the file to extract will work (after applying above script).

@tsukumijima
Copy link

When setting up my new PC, I installed 7-Zip ZS, which supports Zstandard, instead of the original 7-Zip. The installation path of 7-Zip ZS is the default: C:\Program Files\7-Zip-Zstandard.

Now, I applied the .reg file that I used on my old PC, but it didn't work properly. Upon further investigation, I found out that the reason the .reg file worked on the old PC was because "7-Zip ZS was installed under C:\Program Files\7-Zip" + "In the older version of 7-Zip ZS, the identifier for the file association-related registry was the same as the 7-Zip mainline (it has since been changed to 7-Zip-Zstandard in the latest version)."

After some trial and error, I created the following new .reg file (7-zip-zstandard-default-extract.reg). It allows double-clicking to extract all extensions supported by 7-Zip ZS, including .zstd, which was not included in the original registry file.

You should be able to apply it by following the steps below:

  1. Open C:\Program Files\7-Zip-Zstandard\7zFM.exe, go to Tools -> Options -> System, and associate compressed files with 7-Zip ZS for both the current user and all users.
  2. Apply 7-zip-zstandard-default-extract.reg to the system.
  3. If, at this point, files like .zip are still associated with Explorer, change the default app for the extension from the file properties to "7-Zip GUI" (C:\Program Files\7-Zip-Zstandard\7zG.exe) (note that it's not 7zFM.exe).
  4. At this point, you should be able to double-click to extract .zip files, and the icons for .zip and other compressed files should have changed to those of 7-Zip ZS. If it’s not working properly, try restarting the system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment