web-dev-qa-db-ja.com

Windowsのコンテキストメニューに「OpenCmder」を正しく追加するにはどうすればよいですか?

私はチョコレートでCmderをインストールしました: https://chocolatey.org/packages/Cmder

コンテキストメニューに、現在のディレクトリでcmderを開くためのショートカットが必要です。私は[公式ウィキ]をフォローしました:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\Shell\Cmder]
@="Open Cmder Here"
"Icon"="\"%CMDER_ROOT%\\icons\\cmder.ico\",0"

[HKEY_CLASSES_ROOT\Directory\Background\Shell\Cmder\command]
@="\"%CMDER_ROOT%\\Cmder.exe\" /START \"%v\""

https://github.com/cmderdev/cmder/wiki/Context-menu-integration )ただし、Cmderを開始するアイコンがコンテキストメニューに表示されていても、エラーがスローされます。メッセージボックス:

Windowsは、指定されたデバイス、パス、またはファイルにアクセスできません。アイテムにアクセスするための適切な権限がない可能性があります。

Cmder実行可能ファイルのパスは次のとおりです。C:\tools\Cmder\Cmder.exe

環境変数は問題ないようです(setx CMDER_ROOT "C:\tools\Cmder"で設定されています):

echo %cmder_root%
C:\tools\Cmder

ここで何が問題になっているのか本当に理解できません。

2
Kerry Perret

代わりに、次のREGファイルを使用してください。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\Shell\Cmder]
@="Open Cmder Here"
"Icon"=hex(2):22,00,25,00,43,00,4d,00,44,00,45,00,52,00,5f,00,52,00,4f,00,4f,\
  00,54,00,25,00,5c,00,69,00,63,00,6f,00,6e,00,73,00,5c,00,63,00,6d,00,64,00,\
  65,00,72,00,2e,00,69,00,63,00,6f,00,22,00,2c,00,30,00,00,00

[HKEY_CLASSES_ROOT\Directory\Background\Shell\Cmder\command]
@=hex(2):22,00,25,00,43,00,4d,00,44,00,45,00,52,00,5f,00,52,00,4f,00,4f,00,54,\
  00,25,00,5c,00,43,00,6d,00,64,00,65,00,72,00,2e,00,65,00,78,00,65,00,22,00,\
  20,00,2f,00,53,00,54,00,41,00,52,00,54,00,20,00,22,00,25,00,76,00,22,00,00,\
  00
4
w32sh

私は同じ問題を抱えていて、plainパス(環境変数への参照なし)を使用してそれを解決し、それを機能させました。だから私の.regファイルは次のようになります:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\Shell\Cmder]
@="Open Cmder Here"
"Icon"="C:\\path\\to\\Cmder\\cmder.ico\",0"

[HKEY_CLASSES_ROOT\Directory\Background\Shell\Cmder\command]
@="\"C:\\path\\to\\Cmder\\Cmder.exe\" /START \"%v\""

環境変数を使用したくない場合は、これをレジストリファイルまたはバッチファイルとして使用します。 CmderのインストールパスがC:\MyFilesであると仮定します。セットアップとしてそのパスを変更します。

  • レジストリファイル(.reg):
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\Shell\Cmder]
@="Open Cmder Here"
"Icon"="\"C:\\MyFiles\\icons\\cmder.ico\",0"

[HKEY_CLASSES_ROOT\Directory\Background\Shell\Cmder\command]
@="C:\\MyFiles\\cmder.exe /START \"%v\""
  • バッチファイル(.bat):
reg add "HKCR\Directory\Background\Shell\Cmder" /ve /d "Open Cmder Here" 
reg add "HKCR\Directory\Background\Shell\Cmder" /v "Icon" /d "C:\MyFiles\icons\cmder.ico,0" 
reg add "HKCR\Directory\Background\Shell\Cmder\command" /ve /d "C:\MyFiles\cmder.exe /START \"%v\"" 

コマンドオプション:

REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f] [/reg:32 | /reg:64] 
    /v       The value name, under the selected Key, to add.
    /ve      adds an empty value name (Default) for the key.
    /t       If omitted, REG_SZ is assumed.
    /d       The data to assign to the registry ValueName being added.
1
Biswapriyo