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*"
@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