【Windows11】右クリックメニューを旧仕様に戻す

概要

デスクトップやフォルダで右クリックを押したときに出てくるコンテキストメニューが
Windows11ではコンパクトに使いやすいように変更されています。

しかし、人によっては旧仕様のままの方が良かったという場合もあると思います。
今回はこの右クリックしたときに出てくるメニューを旧仕様に戻すバッチファイルを書いたので紹介します。

注意

本記事のバッチファイルを実行する際は自己責任でお願いします。

作成したバッチファイルの内容

お好きなフォルダに新しいテキストファイルを作成し、下記のプログラムを貼り付けて保存します。
ファイルの拡張子を「.bat」に変更して、実行します。

実行するたびにWindows11仕様↔旧仕様で入れ替えができます。

@echo off
goto check_Permissions

:check_Permissions
    net session >nul 2>&1
    if %errorLevel% == 0 (
        echo ***********************************************************************
        echo 管理者権限が検出されました。スクリプトを続行しています...
        echo ***********************************************************************
        goto run_Script
    ) else (
        echo ***********************************************************************
        echo 管理者以外の権限が検出されました。管理者権限でスクリプトを再起動しています...
        echo プロンプトが表示されたら、続行、または管理者パスワードを入力してください。
        echo ***********************************************************************
        pause
        powershell -Command "Start-Process -Verb runAs '%comspec%' '/c %~dpnx0'"

        exit /B
    )

:run_Script
    setlocal

    set "KEY_NAME=HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}"
    set "target=%KEY_NAME%\InprocServer32"

    reg query "%target%" /v "" >nul 2>&1
    if %errorlevel% equ 0 (
        reg delete "%KEY_NAME%" /f >nul 2>&1
        echo ***********************************************************************
        echo 右クリックを押したときの動作をwindows11仕様にしました。
        echo 変更を有効にするにはPCを再起動する必要があります。
        echo ***********************************************************************
        pause
    ) else (
        reg add "%target%" /ve /t REG_SZ /d "" /f >nul 2>&1
        echo ***********************************************************************
        echo 右クリックを押したときの動作をwindows10以前の仕様に戻しました。
        echo 変更を有効にするにはPCを再起動する必要があります。
        echo ***********************************************************************
        pause
    )
    set /p "restart=今すぐ再起動しますか? (y/n) "
    if /i "%restart%"=="y" (
        shutdown /r /t 0
    ) else (
        echo 次回起動時に設定が反映されます。
        pause
    )

コードの説明

レジストリを操作するため、管理者権限で実行する必要があります。
違っていた場合powershellを使って管理者権限で再実行します。

    net session >nul 2>&1
    if %errorLevel% == 0 (
        echo ***********************************************************************
        echo 管理者権限が検出されました。スクリプトを続行しています...
        echo ***********************************************************************
        goto run_Script
    ) else (
        echo ***********************************************************************
        echo 管理者以外の権限が検出されました。管理者権限でスクリプトを再起動しています...
        echo プロンプトが表示されたら、続行、または管理者パスワードを入力してください。
        echo ***********************************************************************
        pause
        powershell -Command "Start-Process -Verb runAs '%comspec%' '/c %~dpnx0'"

        exit /B
    )

下記の部分でレジストリを操作しています。

    setlocal

    set "KEY_NAME=HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}"
    set "target=%KEY_NAME%\InprocServer32"

    reg query "%target%" /v "" >nul 2>&1
    if %errorlevel% equ 0 (
        reg delete "%KEY_NAME%" /f >nul 2>&1
        echo ***********************************************************************
        echo 右クリックを押したときの動作をwindows11仕様にしました。
        echo 変更を有効にするにはPCを再起動する必要があります。
        echo ***********************************************************************
        pause
    ) else (
        reg add "%target%" /ve /t REG_SZ /d "" /f >nul 2>&1
        echo ***********************************************************************
        echo 右クリックを押したときの動作をwindows10以前の仕様に戻しました。
        echo 変更を有効にするにはPCを再起動する必要があります。
        echo ***********************************************************************
        pause
    )

設定の変更を反映するには再起動する必要があるため、下記で再起動できるようにしています。

    set /p "restart=今すぐ再起動しますか? (y/n) "
    if /i "%restart%"=="y" (
        shutdown /r /t 0
    ) else (
        echo 次回起動時に設定が反映されます。
        pause
    )

所感

私はコンテキストメニューからsakuraエディターを開いたり、7zipで圧縮解凍することがかなり頻繁にあるので
旧仕様の方が何かと便利に感じています。

また、所有しているPCが複数台あり、買い替え時のことやOSを再インストールすることも考えられるので
ファイルに処理をまとめてしまって持っておいた方が便利だと思い作りました。


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です