MENU

エクスプローラーの右クリックメニューに「すべて選択」を追加する

今回は、エクスプローラーの右クリックメニューに「すべて選択」を追加する方法を紹介します。

Windows 10/11 のフォルダーの中の何もない所で右クリックしたときのメニューには、「すべて選択」の項目がなくて不便だと思ったことはありませんか?

今回紹介する方法を行うと、次の画像のように、右クリックメニューに「すべて選択」の項目が表示されるようになります。

フォルダーの中の何もない所で右クリックしたときのメニュー
フォルダーの中の何もない所で右クリックしたときのメニュー

※Windows 11 の場合、右クリックメニューの「その他のオプションを確認」の中に表示されます。

Windows 11 - エクスプローラーの右クリックメニュー
Windows 11 – エクスプローラーの右クリックメニュー

Windows 11 の右クリックメニューの「その他のオプションを確認」を直接開く方法:

ここでは「すべて選択」を追加する方法を 2つ紹介しますが、Microsoft によると、VBScript は将来使用できなくなる(削除される)予定なので、2番目の方法をおすすめします。

  1. VBScript を作成し、レジストリにメニュー項目と VBScript を実行するためのコマンドを追加
  2. 元々ある「すべて選択」のレジストリ値をコピーし、エクスプローラーの右クリックメニューに関するレジストリの場所に追加(推奨)
目次

1.VBScript を作成し、レジストリにメニュー項目と VBScript を実行するためのコマンドを追加

VBScript を作成してからメニュー項目に関するレジストリ値を追加するには非常に時間がかかりますので、バッチファイルを用意しました。

バッチファイルを管理者として実行するだけで、VBScript の作成からレジストリ値を追加するまでを自動で行うことができます。

1.新規にテキストファイルを作成し、下記の内容をコピー&貼り付けし、名前を「右クリックすべて選択.bat」に変更して保存してください。

※文字コードを「ANSI」にして保存してください。(日本語が文字化けするため)

※バッチファイルを初めて作成する場合は、次のページをお読みください。

バッチファイルとは?バッチファイルの作成と実行方法

@echo off
title 右クリックメニューにすべて選択を追加
if not exist "%windir%\SelectAll.vbs" goto setup
reg delete "HKCR\CLSID\{00000000-0000-0000-0000-000000000012}" /f >nul 2>nul
reg delete "HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\SuperHidden" /f >nul 2>nul
del /f /q "%windir%\SelectAll.vbs" >nul 2>nul
@echo msgbox "右クリックメニューのすべて選択を削除しました">msg.vbs 
@msg.vbs
@del msg.vbs
exit
:setup
color 0a
>>"%windir%\SelectAll.vbs" echo On Error Resume Next
>>"%windir%\SelectAll.vbs" echo dim wsh,setting
>>"%windir%\SelectAll.vbs" echo Set wsh=Wscript.Createobject("Wscript.shell")
>>"%windir%\SelectAll.vbs" echo wsh.SendKeys "^a"
reg export "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" "%temp%\__.reg" >nul
for /f "tokens=2 delims==" %%. in ('find/i "HideFileExt" "%temp%\__.reg"') do set v=%%~.
del "%temp%\__.reg"
set v=%v:~-1%
if %v% equ 0 set vv=すべて選択
>"%temp%\_.reg" echo Windows Registry Editor Version 5.00
>>"%temp%\_.reg" echo [HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\SuperHidden]
>>"%temp%\_.reg" echo @="{00000000-0000-0000-0000-000000000012}"
>>"%temp%\_.reg" echo [HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000012}\InProcServer32]
>>"%temp%\_.reg" echo @=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,73,79,73,74,65,6d,33,32,5c,73,\
>>"%temp%\_.reg" echo   68,64,6f,63,76,77,2e,64,6c,6c,00
>>"%temp%\_.reg" echo "ThreadingModel"="Apartment"
>>"%temp%\_.reg" echo [HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000012}\Instance]
>>"%temp%\_.reg" echo "CLSID"="{3f454f0e-42ae-4d7c-8ea3-328250d6e272}"
>>"%temp%\_.reg" echo [HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag]
>>"%temp%\_.reg" echo "method"="ShellExecute"
>>"%temp%\_.reg" echo "Param1"="SelectAll.vbs"
>>"%temp%\_.reg" echo "command"="すべて選択"
>>"%temp%\_.reg" echo "CLSID"="{13709620-C279-11CE-A49E-444553540000}"
regedit /s "%temp%\_.reg"
del /f /q "%temp%\_.reg"
@echo msgbox "右クリックメニューにすべて選択を追加しました">msg.vbs 
@msg.vbs
@del msg.vbs
exit

使用方法

1.バッチファイル「右クリックすべて選択.bat」の上で右クリック>「管理者として実行」をクリックするとコマンドプロンプト(黒いウィンドウ)が表示されます。

2.それと同時に、「右クリックメニューにすべて選択を追加しました」というメッセージボックスが表示されますので、OK をクリックしてください。

右クリックメニューにすべて選択を追加しました
右クリックメニューにすべて選択を追加しました

3.すると、コマンドプロンプトは自動で終了しますので、右クリックメニューに項目が追加されたかを確認してください。

※追加したメニューと VBScript を削除したい場合は、もう一度「右クリックすべて選択.bat」を管理者として実行すると削除されます。

右クリックメニューのすべて選択を削除しました
右クリックメニューのすべて選択を削除しました

バッチファイルの仕組み

バッチファイルの仕組みは、レジストリに右クリックメニューを表示するための値および VBScript を実行するためのコマンドを追加し、OS がインストールされているドライブの Windowsフォルダーに「SelectAll.vbs」を作成します。

「SelectAll.vbs(VBScript)」の中身は、キーボードのショートカットキー「Ctrl + A」をクリックするようにコンピュータに命令するという内容になっています。

「Ctrl + A」は「すべて選択」のショートカットキーですね。

「SelectAll.vbs」の内容:

On Error Resume Next
dim wsh,setting
Set wsh=Wscript.Createobject("Wscript.shell")
wsh.SendKeys "^a"

バッチファイルを実行すると、Windowsフォルダーに「SelectAll.vbs」が存在するかをチェックし、存在しなければ作成し、レジストリに必要な値を書き込みます。

もしも Windowsフォルダーに「SelectAll.vbs」が存在すれば、右クリックメニューに「すべて選択」が追加されていると判断し、「SelectAll.vbs」と追加したレジストリ値を削除します。

追加したメニューの「すべて選択」をクリックすると、「SelectAll.vbs」が実行され、キーボードの「Ctrl + A」が自動的に押され、ファイルをすべて選択します。

2.元々ある「すべて選択」のレジストリ値をコピーし、エクスプローラーの右クリックメニューに関するレジストリの場所に追加

レジストリ値を追加するには非常に時間がかかりますので、バッチファイルを用意しました。

※もしも手動でレジストリ値を追加する場合は、誤って重要な値を削除しないように注意してください。

レジストリの操作を間違えると、システムが起動できなくなるなどの不具合が起きる可能性があります。事前にシステムの復元などでバックアップを取り、自己責任で行うようお願いします。

レジストリキー:

HKEY_CLASSES_ROOT\Directory\Background\shell\Windows.selectall

作成する値:

値の名前値の種類値のデータ
CanonicalNameREG_SZ{b33bf5af-76d5-4d10-93e7-d8e22e93798f}
CommandStateHandlerREG_SZ{3756e7f5-e514-4776-a32b-eb24bc1efe7a}
CommandStateSyncREG_SZ
DescriptionREG_SZ@shell32.dll,-31277
IconREG_SZimageres.dll,-5308
ImpliedSelectionModelREG_DWORD32(10進数)
MUIVerbREG_SZ@shell32.dll,-31276

レジストリキー:

HKEY_CLASSES_ROOT\Directory\Background\shell\Windows.selectall\command

作成する値:

値の名前
値の種類
値のデータ
DelegateExecuteREG_SZ{aa28fbc7-59f1-4c42-9fd8-ba2be27ea319}

バッチファイルの内容:

@echo off

set RegKey=HKCR\Directory\Background\shell\Windows.selectall

reg query %RegKey% >NUL 2>&1
if %ERRORLEVEL% equ 0 (
    reg delete "%RegKey%" /f
    echo 右クリックメニューのすべて選択を削除しました。
    pause
    exit
) else (
    Reg add "%RegKey%" /v "CanonicalName" /t REG_SZ /d "{b33bf5af-76d5-4d10-93e7-d8e22e93798f}" /f
    Reg add "%RegKey%" /v "CommandStateHandler" /t REG_SZ /d "{3756e7f5-e514-4776-a32b-eb24bc1efe7a}" /f
    Reg add "%RegKey%" /v "CommandStateSync" /t REG_SZ /d "" /f
    Reg add "%RegKey%" /v "Description" /t REG_SZ /d "@shell32.dll,-31277" /f
    Reg add "%RegKey%" /v "Icon" /t REG_SZ /d "imageres.dll,-5308" /f
    Reg add "%RegKey%" /v "ImpliedSelectionModel" /t REG_DWORD /d "32" /f
    Reg add "%RegKey%" /v "MUIVerb" /t REG_SZ /d "@shell32.dll,-31276" /f
    Reg add "%RegKey%\command" /v "DelegateExecute" /t REG_SZ /d "{aa28fbc7-59f1-4c42-9fd8-ba2be27ea319}" /f
    echo 右クリックメニューにすべて選択を追加しました。
    pause
    exit
)






1.新規にテキストファイルを作成し、上記の内容をコピー&貼り付けし、名前を「右クリックすべて選択.bat」に変更して保存してください。

※文字コードを「ANSI」にして保存してください。(日本語が文字化けするため)

※バッチファイルを初めて作成する場合は、次のページをお読みください。

バッチファイルとは?バッチファイルの作成と実行方法

使用方法

バッチファイル「右クリックすべて選択.bat」の上で右クリック>「管理者として実行」をクリックするとコマンドプロンプト(黒いウィンドウ)が表示されます。

バッチファイルは、右クリックメニューの有無(レジストリ値が存在するかしないか)を確認し、メニューが存在しなければレジストリ値を追加し、「右クリックメニューにすべて選択を追加しました。」と表示します。

コマンドプロンプト
コマンドプロンプト

メニューが存在すれば、追加したレジストリ値を削除し、「右クリックメニューのすべて選択を削除しました。」と表示します。

コマンドプロンプト
コマンドプロンプト

コマンドプロンプトは、任意のキーを押すか、× ボタンを押すと終了しますので、右クリックメニューに項目が追加されたかを確認してください。

この記事が役立ったと感じたら、ぜひシェアをお願いします
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ニックネーム: wenbang
趣味: 格闘技関連の動画鑑賞
座右の銘: 「為せば成り、為さねば成らぬものなるを、成らぬは、おのが為さぬためなり」

Windows 技!では、Windows 10/11 の問題解決をメインに、PC をもっと便利にするカスタマイズ方法なども紹介しています。少しでもみなさまのお役に立てれば幸いです。

コメント

コメントする


目次