2014年6月10日火曜日

Everything のコンテクストメニュー

Everything はとても便利で愛用しているのですが、検索結果で「ファイルが含まれるフォルダ」を表示する際、ちょっと困った点がありました。

「フォルダを開く」を行うと、フォルダを開くと同時に、新たなexplorer のプロセスが発生してしまうのです。
以前、メモリが少ないマシンでexplorer のプロセスが増えて、システムが変に(重く)なったことがありました。
なので、フォルダオプションの「別のプロセスでフォルダウインドウを開く」をオフにしている身としては、これは許せないのです。

コレに関しては、Everything の「オプション(設定)→メニュー項目」でカスタマイズ出来るのですが、デフォルトでは確かにファイル名を指定してexplorer.exe を起動しています。
そうか、ファイル名を除いたパス名は取得できないみたいなので、ファイル名を使うしかないのか…

少し調べたところ、Windows のコマンドプロンプト(所謂バッチコマンド)だと、「%~pI」という記述で取得できるそうです。
バッチファイルでファイルパスからファイル名や拡張子を自由に取り出す方法 - みちしるべ
http://orangeclover.hatenablog.com/entry/20101004/1286120668

これを使ってみたのですが、やはりというかエラーになりました。
ふと、Everything 日本語ヘルプサイトを覗いたら、参考になる解説がありました。
ini設定 - Everything日本語ヘルプ
https://sites.google.com/site/everythingjphelp/ini
へえ、Everything にはparent() という関数があって、UNIX のdirname と同じなんですね。
ということで、以下のように設定を変更し、願いが叶いました。
$exec("%SystemRoot%\explorer.exe" /select,"%1")
$exec("$parent(%1)")
2 ちゃんねるの書き込みでは、pathpart() という関数を使ってましたけど、機能は同じみたいですね。

めでたしめでたし。

0 件のコメント:

コメントを投稿