Skip to content

Instantly share code, notes, and snippets.

@Techlogist
Last active February 6, 2026 11:09
Show Gist options
  • Select an option

  • Save Techlogist/d11e014d21c57a76fdfd21fbf8d43062 to your computer and use it in GitHub Desktop.

Select an option

Save Techlogist/d11e014d21c57a76fdfd21fbf8d43062 to your computer and use it in GitHub Desktop.

Revisions

  1. Techlogist revised this gist Nov 20, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion 7ZipDefault.bat
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    REM License: GNU General Public License v2.0
    REM Author: Miguel
    REM Website: www.techlogist.net
    REM Post: https://techlogist.net/batch/
    REM Post: https://techlogist.net/scripts-terminal/batch/how-to-set-7zip-as-the-default-application-to-open-certain-compressed-files-type-via-script/
    REM Description: This script makes 7Zip the default app for the following extensions:
    REM .7z, .zip, .rar, .gz, .tgz, .tar
    REM OS/Language/Region: Windows/EN-US
  2. Techlogist created this gist Nov 20, 2022.
    148 changes: 148 additions & 0 deletions 7ZipDefault.bat
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,148 @@
    REM License: GNU General Public License v2.0
    REM Author: Miguel
    REM Website: www.techlogist.net
    REM Post: https://techlogist.net/batch/
    REM Description: This script makes 7Zip the default app for the following extensions:
    REM .7z, .zip, .rar, .gz, .tgz, .tar
    REM OS/Language/Region: Windows/EN-US
    REM Notes:
    REM 1) Does not require administrator rights to make changes for current logged in user but displays "Access Denied"
    REM 2) If ran as administrator will change for all users.

    :_start
    REM Start of script
    @echo off
    cls
    title 7zFM Default v.1
    color f0
    mode con:cols=70 lines=15
    goto _set_folders

    :_set_folders
    REM Set the folders to be verified
    cls
    set _7zFMFolder=C:\Program Files\7-Zip\
    goto _7zFM

    :_7zFM
    REM Check if 7zFM is available
    IF EXIST "%_7zFMFolder%\7zFM.exe" (goto _change_registry) else (goto _7zip_unavailable)
    goto _7zFM

    :_7zip_unavailable
    REM This routine will advise the user to install 7-Zip because its missing and log it.

    REM The error screen for 7-Zip is missing
    color 47
    cls
    echo ----------------------------------------------------------------------
    echo.
    echo.
    echo.
    echo.
    echo.
    echo 7-Zip is unavailable. Please install
    echo.
    echo.
    echo.
    echo.
    echo.
    echo ---------------------------------- ----------------------------------
    pause
    color f0
    goto EOF

    :_change_registry
    REM The error screen for 7-Zip is missing
    color f0
    cls
    echo ----------------------------------------------------------------------
    echo.
    echo.
    echo.
    echo.
    echo.
    echo Changing registry....
    echo.
    echo.
    echo.
    echo.
    echo.
    echo ---------------------------------- ----------------------------------

    REM Update registry for different types of compressed files:
    REM .7z, .zip, .rar, .gz, .tgz, .tar

    REM Create the entry 7-Zip.zip in the registry

    REG ADD HKEY_CLASSES_ROOT\7-Zip.zip /d "zip Archive" /f > nul
    REG ADD HKEY_CLASSES_ROOT\7-Zip.zip\DefaultIcon /d "C:\Program Files\7-Zip\7z.dll,4" /f > nul
    REG ADD HKEY_CLASSES_ROOT\7-Zip.zip\shell /f > nul
    REG ADD HKEY_CLASSES_ROOT\7-Zip.zip\shell\open /f > nul
    REG ADD HKEY_CLASSES_ROOT\7-Zip.zip\shell\open\command /d "\"C:\Program Files\7-Zip\7zFM.exe\" \"%%1\"" /f > nul

    REG ADD HKEY_CURRENT_USER\Software\Classes\7-Zip.zip /d "zip Archive" /f > nul
    REG ADD HKEY_CURRENT_USER\Software\Classes\7-Zip.zip\DefaultIcon /d "C:\Program Files\7-Zip\7z.dll,4" /f > nul
    REG ADD HKEY_CURRENT_USER\Software\Classes\7-Zip.zip\shell /f > nul
    REG ADD HKEY_CURRENT_USER\Software\Classes\7-Zip.zip\shell\open /f > nul
    REG ADD HKEY_CURRENT_USER\Software\Classes\7-Zip.zip\shell\open\command /d "\"C:\Program Files\7-Zip\7zFM.exe\" \"%%1\"" /f > nul

    REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Classes\7-Zip.zip /d "zip Archive" /f > nul
    REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Classes\7-Zip.zip\DefaultIcon /d "C:\Program Files\7-Zip\7z.dll,4" /f > nul
    REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Classes\7-Zip.zip\shell /f > nul
    REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Classes\7-Zip.zip\shell\open /f > nul
    REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Classes\7-Zip.zip\shell\open\command /d "\"C:\Program Files\7-Zip\7zFM.exe\" \"%%1\"" /f > nul

    REM The change in HKEY_CLASSES_ROOT is implemented to all users
    REM the change in HKEY_CURRENT_USER\Software\Classes\ is the the curretly logged in user

    REM Update for .7z
    REG ADD HKEY_CLASSES_ROOT\.7z /d 7-Zip.zip /f > nul
    REG ADD HKEY_CURRENT_USER\Software\Classes\.7z /d 7-Zip.zip /f > nul
    REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.7z /d 7-Zip.zip /f > nul
    REM Update for .zip
    REG ADD HKEY_CLASSES_ROOT\.zip /d 7-Zip.zip /f > nul
    REG ADD HKEY_CURRENT_USER\Software\Classes\.zip /d 7-Zip.zip /f > nul
    REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.zip /d 7-Zip.zip /f > nul
    REM Update for .rar
    REG ADD HKEY_CLASSES_ROOT\.rar /d 7-Zip.zip /f > nul
    REG ADD HKEY_CURRENT_USER\Software\Classes\.rar /d 7-Zip.zip /f > nul
    REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.rar /d 7-Zip.zip /f > nul
    REM Update for .gz
    REG ADD HKEY_CLASSES_ROOT\.gz /d 7-Zip.zip /f > nul
    REG ADD HKEY_CURRENT_USER\Software\Classes\.gz /d 7-Zip.zip /f > nul
    REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.gz /d 7-Zip.zip /f > nul
    REM Update for .tgz
    REG ADD HKEY_CLASSES_ROOT\.tgz /d 7-Zip.zip /f > nul
    REG ADD HKEY_CURRENT_USER\Software\Classes\.tgz /d 7-Zip.zip /f > nul
    REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.tgz /d 7-Zip.zip /f > nul
    REM Update for .tar
    REG ADD HKEY_CLASSES_ROOT\.tar /d 7-Zip.zip /f > nul
    REG ADD HKEY_CURRENT_USER\Software\Classes\.tar /d 7-Zip.zip /f > nul
    REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.tar /d 7-Zip.zip /f > nul


    :_Done
    REM The error screen for 7-Zip is missing
    color f0
    cls
    echo ----------------------------------------------------------------------
    echo.
    echo.
    echo.
    echo.
    echo.
    echo All Done!
    echo.
    echo.
    echo.
    echo.
    echo.
    echo ---------------------------------- ----------------------------------
    pause
    goto EOF

    :EOF
    REM End of the file
    cls
    exit