エクスプローラで背景を右クリックした時のコンテキストメニューをいじる
レジストリキー
HKEY_CLASSES_ROOT\Directory\Background\shell
サンプル
1. これはどんなサンプル?
git pull を実行できるようにしてみる。
2. レジストリはどういじる?
regファイルのフォーマットだけどこんな感じ。
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\git_pull] @="git pull" [HKEY_CLASSES_ROOT\Directory\Background\shell\git_pull\command] @="\"D:\\work\\github\\stakiran\\contextmenu\\gitpull.bat\" %V"
重要なのは %V
が必要であること。これがないと「どこのフォルダで右クリックされたのか」という情報が渡されない。
3. gitpull.batってどんなん?
こんなん。
git pull する前に対象ディレクトリに移動するのと、終わった後にもとに戻るのをかましてる。
@echo off setlocal pushd %cd% echo git pull... git pull popd timeout 3
%V
で渡された値には %cd%
でアクセスできる。これは想像だけど、%V は「右クリックされたフォルダをカレントディレクトリにする」的な効果があるんだと思う?