2007-09-08

PPx 無上のファイラー その1 

「PPxから各種プログラムにパスを渡して起動する。」

阿呆のおいらには、文章の意味はわかっても、PPxから別のプログラムを立ち上げるにはどうしていいかわからなかった。

PPxの使い方を解説したページなどを参考に、そのとおりにしているつもりなのに、うまくいいかず、何度あきらめたことか。

一例をあげよう。

選択したエントリのパスをポチエス(関連付け版)に渡して、ポチエスで関連づけされた任意のプログラムで開く。
これさえもできんかった。(恥ずかしい話だけれど、これほんとの話。まじ、笑えない)

どうでもいい与太話はこれくらいにしておいて、
PPxから各種プログラムにパスを渡して起動する方法には、今現在、おいらがわかっている限りでは3種類ある。

  1. 個人用実行メニュー 「M_exec」 に登録する方法(個人用実行メニュの設定をし、個人用実行メニューを呼び出して、実行する)
  2. ContextMenu 「M_Ccr」へ追加する方法。 (コンテキストメニューから実行する)
  3. PPCUSTW.EXEを使って、機能・キー割り当てあるいはコマンド実行にキーを割り当てる方法。(特定のキーに実行したいコマンドなり機能なりを割り当てるということ。PPcの画面上でショートカットキーからコマンドが実行できる)

文章にしてみただけでも、書いている自分にさえ、わけがわからない。救いようがないというのはこういうことだ。
とにかく、順を追って説明してみる。


1.個人用実行メニュー M_exec に登録する方法

PPxカスタマイザーから登録できる。
カスタマイザーのメニューのタブから M_execに実行コマンドを指定すればいい。



と言うと、ものすごく簡単そうに思えるが、おいらにとってはそうではない。
単純に実行プログラムを起動するだけなら、実行プログラムのパスを記述すればそれで事がすむが、パスを渡すとなると、そうは問屋がおろさない。

マクロ文字を使わなければならない。
作者の方は非常に親切で、設定ダイアログに「マクロ文字挿入」というボタンをわざわざ用意してくれている。

%Ob PPbを使わずに実行
%FCD ファイル名(一つのみ)
%#FCD ファイル名(列挙)

等々。悲しいかな、わけがわからん。




ポチエス(関連付け版)を登録してみたが、なかなかうまくいかない。四苦八苦のすえ、以下のとおりで、うまくいった。

%Ob C:\soft\esExt\esExt5.exe %FCD

PPbを無視して、esExt5.exe。渡すパスは%FCD ファイル名(一つのみ) という意味のコマンド。

パスを渡して任意のプログラムを実行するには、パスを渡さないことには。話が始まらない。という超基本的なことにやっと気がついた。

これで開眼。あれこれ、必要そうなプログラムを登録してみた。
以下その例

Fenrir (&J) = %Ob C:\shortcut\fd.lnk /key=%FCD
&Empty bin = C:\tool\nircmd\emptybin.lnk
es&Fl = %Ob,*CD"%0"%:C:\tool\esFlr5107\esFlr5.exe
esExt &K = %Ob C:\soft\esExt\esExt5.exe %FCD
&Metamor = %Ob "C:\Program Files\metamorphose\metamorphose.exe" %FCD
P&NG = %Ob C:\tool\Yukari\BlastPNG.exe %#FCD
&Photo Filtre = %Ob "C:\Program Files\PhotoFiltre\PhotoFiltre.exe" %#FCD
&Shuredder = %Ob C:\tool\cshred110\CyberShredder.exe %#FCD
FS &Resize = %Ob "C:\Program Files\FastStone Photo Resizer\FSResizer.exe" %#FCD
FS &Viewer = %Ob "C:\Program Files\FastStone Image Viewer\FSViewer.exe" %#FCD
お気に入り(&A) = %K"@0"

この個人用実行メニューの呼び出しキーは作者の方の設定と同じ「,」とした

PPX.CFGのファイルを編集する場合は
"KC_main = { ; PPc メイン窓" に以下を記述すればいい。

',' ,%M_exec

カスタマイザーから設定するには、「キー割り当て」→「種類(C) KC_main を選択」→「キー指定」で任意のキーをキーボードから入力 →「コマンド実行」に"%M_exec"と記述すればよい。


こうすることによって、PPcを開き、任意のエントリを選択し(ひとつでも複数でも、コマンドの設定で、%FCDにしたか%#FCDEにしたかの選択次第で自由に指定できる)、
,」を押しさえすれば、個人用実行メニューがポップアップし、やりたいことはなんでもござれ。


この設定ができた時には、天にも昇るような気持ちがしたもんだ。ほんと、涙が出そうになるほどうれしかった。

第2、第3の方法は次回。

つづく


付記
以前、当ブログで、PPxがまるでわかってなくても・・・なる駄文を書いたことがありますが、それ以降、ほんの少しずつではありますが、PPxのことが若干、より理解できたことなどがあったりします。忘れないうちにメモしておいたほうがよかろうということで記録しました。
間違いのないように十分注意はしていますが、あくまで「使えた気になれるかもしれない」ものでして、とんでもない勘違いをしている場合があるやもしれません。どうかご容赦ください。
いつものことながら、作者の方に深く感謝です。

2007-09-05

Dialogを 慣らす

「開く/保存ダイアログ」の操作性をなんとできないものかと、あれこれ無い知恵を絞った結果、たどりついた結論

「開く/保存ダイアログ」はパソコンを操作する上で、無くてはならない、避けて通れないものです。
にもかかわらず、任意のフォルダーに移動するというごく単純な作業でさえも、その操作性はほとんど進歩していないと言っても、それは言い過ぎだよと真剣に反論する人は数少ないのではと思っています。使いづらけど、まあ、しゃあないじゃん・・・程度に思ってあきらめている人がほとんでなのではないでしょうか。

フリーのソフトを使って、「開く/保存ダイアログ」のフォルダー移動の操作性を向上させる方法をいくつか調べてみました。

方法その1 Folder Guideを使う  (窓の杜の紹介記事)

このソフトはマウスの右クリックから好みのフォルダーに移動することができます。
非常にハンディで操作も簡単です。

個人的には
・マウスを使わなければならない
・ホットキーの設定ができない(キーボードからの呼び出しができない)
・好みのファイラの指定ができない(エクスプローラーしか使えない)
不満が残りますが、マウス操作が気にならない人には、すばらしいソフトだと思います。


方法その2 AutoHotkeyのスクリプトを使う。


Tab completion for Open/Save dialogs

 AutoHotkeyのForumで紹介されているスクリプトです。
 AutoHotkeyの当該スクリプト起動させておき、「開く/保存ダイアログ」を表示させ、F3キーを押し、ポップアップしたウインドゥに移動したいファイルを打ち込み確定すると、指定したフォルダへ移動することができます。
 階層の深いフォルダへの移動が一発でできるものの、ポップアップウインドゥからフォーカスが外れると、ウインドウが消えてしまい、困ってしまいます。
 貼り付けソフトを利用しようとしても、フォーカスがはずれると消えてしまいます。
 開きたいフォルダパスを完全に覚えていて、ミスタイプなしで入力できる人はいざしらず、そうでない人にはおすすめできません。

Easy Access to Favorite Folders -- by Savage

AutoHotkey Script Showcaseで紹介されているスクリプト。
マウスの中ボタンクリックで、自分の好みのフォルダを表示させることができます。
もちろんホットキーは中ボタンクリック以外にも自由に設定できます。

/*
ITEMS IN FAVORITES MENU <-- Do not change this string.
Desktop ; %A_Desktop%
Favorites ; %A_Desktop%\..\Favorites
My Documents ; %A_MyDocuments%
************
Program Files; %A_ProgramFiles%
*/
スクリプトの中に上記のような記述があり、「ITEMS IN FAVORITES MENU」の下の ************ の部分に

All User ;C:\Documents and Settings\All Users
&My Macro ;C:\My Documents\My Macro
&tool ;C:\tool
など、任意のフォルダを書き加えることでカスタマイズ可能です。アクセスキーの指定もできます。

カスタマイズしたメニューはこんなかんじ

 FolderGuideと同じように使えます。
 スクリプトの設定が苦にならず、マウスでのフォルダ選択が面倒ではない人にはおすすめできます。

 個人的には、スクリプトを発動させた後、さらにそこから深い階層に移動しようとしたとき、フォーカスがListViewからはずれてしまい、そのため、キーボードから目的のフォルダの選択ができなくなってしまう。
 結局、マウスで再度フォルダを指定しなくてはならず、マウスのみでの使用を前提として作られているスクリプトなんだなと納得した次第。
 それにしても、個人的には重宝しています。マウス操作が苦にならない時にはね。


方法その3 あらかじめ用意しておいたクリップボード貼り付けソフトなどを利用して、ダイアログボックスの「ファイル名」に移動させたいフォルダ名を、地道に貼り付け入力する。

 使い慣れたクリップボード貼り付けソフトに、あらかじめよく使うフォルダを登録しておき、それを貼り付けて使用します。
 地道で確実は方法ではあるが、操作に気をつけないと、自動で入力されていたファイル名が消えてしまったり、消してしまったりして、いらつくこと間違いなし。
 自分の場合、「なんでこんなにお馬鹿なんだよ! このくそったれが!! (間髪をおかず、キーボードをぶったたき、壊れる音がこれに続く)グシャ・・・」とうことになりかねないので、使わないことにしています。
 ただ、これの便利な点は、入力した単語の後に「\」(半角の¥です)を入力すると、\以下のフォルダなりファイルなりを補完表示してくれることです。このダイアログ、妙なところに親切だったりするところが不思議でなりません。

地道にフォルダーを選ぶ。補完機能を使うと楽


方法その4 DialogHandlerを使う。

DialogHandlerというソフトと別のソフトを組み合わせてフォルダ移動をすばやく行う方法です。

フォルダ移動に、いくつかの手順を踏まなければなりません。以下にfenrirを使用する場合を例にとり説明します。

・DialogHandlerをダウンロードし、使用できる状態にしておく。

・フォルダ専用のfenrirを用意する。
(Fenrirがあれば、専用のものを用意しなくても使えますが、フォルダ専用のpathファイルを使った方が、フォルダ選択が楽です。)
必要なフォルダだけをスキャンさせたpathから、任意のフォルダを検索選択することができるようにfenrirを設定します。fenrirについて、fenrir - FrownWikiでたいへんわかりやすい説明がされていますので、そちらを参照してください。

・fenrirのコマンドファイルに、以下のとおり、DialogHandlerにpathを渡すコマンドを記述する。
[.***;
DialogHandler|C:\hogel\DialogHandler\DialogHandler.exe "%P"
]

・「開く/保存ダイアログ」を表示させ、用意しておいたフォルダ専用fenrirを起動させ、移動させたいフォルダを選択し、前項で設定したコマンドを実行させる。


最初に表示される画面 保存先のフォルダは c:\になっている


fenrirを起動し、移動先のフォルダを指定しコマンド実行

(画面上では、わかりやすいように、fenrirのコマンドを表示させていますが、コマンドを一つだけ記述しておけばEnterなどのコマンドキーを押すだけで、実行することができます。)

My Macros に保存終了


たいへん便利だと感じている点は以下のとおりです。

・マウスを使わずに最小限の動作でファイル移動ができる。

・階層が深くとも浅くとも、同じ動作で移動がファイルできる。

・ダイアログの仕様に合わせた操作に従うのではなく、こちらがイニシアチブをとったファイル移動ができる。(ストレスが少ない)

・ふだんから使い込んでいるfenrirを使えば、使用頻度の高いフォルダがすでにカスタマイズされた状態にある。また、操作に慣れている。

・「このファイルを保存」で指定した時、自動で入力されたファイル名がそのまま使える。
(必要なフォルダファイルが開くことができ、なおかつ保存するファイル名からフォーカスが移動せず、特段の操作をすることなくそのままスムースに保存することができる)
キーボード主体の操作が好みの自分には、この方法が一番楽で、速くて、ストレスがたまらずにすみます。
fenrirの使いの皆さんには、おすすめの方法です。


さいごに

ここで取り上げた方法はほんの一部です。これ以外にも、たくさんのやり方があり、それぞれに一長一短あると思います。ソフトもそれぞれですし、使う人間もそれぞれです。自分にあった方法が見つけられればいいのではないかと思っています。

2007-08-28

fenrirScan.iniを鍛える

fenrirはたいへん使い勝手の良いすばらしいソフトですが、
フォルダの内容やファイルが変わるたびに、スキャンを実行してpath(注 ここでのpathとは\Fenrir\data\path のこと。以下同じ)を更新しなければならないのが、すこしばかりネックといえるでしょう。

そこでポイントとなるのが、スキャンですが、fenrirにはfenrirScanという、とても便利なスキャン用プログラムが付いています。
scanrule.iniに設定を書き加えることにより、スキャンする、しないはもちろんのこと、ワイルドカードや拡張子を指定してのきめ細かな指定ができます。

fenrirScan については、fenrirScan - FrownWikiでたいへんわかりやすい説明がされています。そちらを参照されるとよいでしょう。

詳細な設定ができるということは、裏をかえせば、設定ファイルの調整に手間取るということです。ぶっちゃけた話、少しばかり、設定が面倒くさいということ。

これまで、scanrule.iniの編集は、いちいちpathファイルを開いて、手作業でしていました。
サブフォルダをスキャンしないパスには * をつけて
スキャンしないフォルダには - をつけて・・・というふうに。

実行ファイルだけを集めたpathであれば、そのやり方でもいいのですが、フォルダやファイルすべてとなると、根気がいる作業です。

そこで、その負担を何とか軽くできないだろうかと、いろいろ調べてみました。

参考にさせてもらったドキュメントおよびサイトは以下のとおり

・FenrirScanのReadeMe
fenrir - FrownWiki
・2ちゃんねる ソフトウェア板 fenrir part1~4

その結果、fenrir本体より、


・選択したフォルダをスキャンする
・選択したフォルダのサブフォルダをスキャンしない
・選択したフォルダあるいはファイルのパスをScanrule.iniスキャンするパスとして追加する
・選択したフォルダあるいはファイルのパスをScanrule.iniにスキャンしないパスとして追加する
・選択したフォルダあるいはファイルをPath追加する
・選択したフォルダあるいはファイルをPathより削除する

以上の項目について、scanrule.iniとPathを編集する方法を整理してみました。

まず、以下の内容のコマンドファイルを作成し、ファイル名を4enter.txtなどとし、適当なキーに割り当てます。
fenrir本体を起動し、該当するフォルダあるいはファイルを選択し、コマンドを呼び出し、目的の処理を選べばokです。

[.\\\;
選択したフォルダをスキャンする|C:\soft\Fenrir\All\fenrirScan.exe *%P,*.*,\
選択したフォルダのサブフォルダをスキャンしない|C:\WINDOWS\system32\cmd.exe /c echo *%P>>C:\soft\Fenrir\All\scanrule.ini
選択したフォルダのパスをScanrule.iniにスキャンするパスとして追加する|C:\WINDOWS\system32\cmd.exe /c echo +%P>>C:\soft\Fenrir\All\scanrule.ini
選択したフォルダのパスをScanrule.iniにスキャンしないパスとして追加する|C:\WINDOWS\system32\cmd.exe /c echo -%P>>C:\soft\Fenrir\All\scanrule.ini
選択したフォルダをpathに追加する|cmd.exe /c echo %P>>C:\soft\Fenrir\All\data\path
選択したフォルダをpathより削除する|C:\soft\Fenrir\All\fenrirScan.exe !%P
]
[.???;
選択したフォルダのパスをScanrule.iniにスキャンするパスとして追加する|C:\WINDOWS\system32\cmd.exe /c echo +%P>>C:\soft\Fenrir\All\scanrule.ini
選択したフォルダのパスをScanrule.iniにスキャンしないパスとして追加する|C:\WINDOWS\system32\cmd.exe /c echo -%P>>C:\soft\Fenrir\All\scanrule.ini
選択したファイルをpathに追加する|cmd.exe /c echo %P>>C:\soft\Fenrir\All\data\path
選択したファイルをpathより削除する|C:\soft\Fenrir\All\fenrirScan.exe !%P
]






画面の例では、C:\soft\Fenrir\Allのフォルダをスキャンする処理を選んでいます。









これで、少しはiniのファイルの編集が楽にできると思います。
日頃から、根気よく、Scanrule.iniファイルを鍛えておけば、ためらうことなくスキャンすることができる日が、いつかやって来るでしょう。
たぶんね・・・