2008-01-28

起動しているプログラムのインストールされているフォルダをマウス操作なしで開く方法

起動しているプログラムのインストールフォルダを、マウス操作なしで開くには、さあどうしたらいい?方法はいろいろあるだろう。が、おいらだったらどうするか? すぐに思い浮かぶのは・・・
以下に列挙してみる。

・ポチエスの簡易ファイラ版 esFlr5 あるいは SbFolder を使い、えんえんと目的のフォルダをたどって開く。

fenrirを使ってうろ覚えのパス名を入力しながら、地道に候補を絞り込んでファイラで開く。

これで目的の操作はできるものの、いまいちしっくりこないというか、気に入らない。何のことはない、面倒なのだ。

せっかく、開きたいプログラムが起動しているのだから、その開いているプログラムのパスを活かして、素早く目的のフォルダを開けるはずだ!!。
じゃあどうしたらいいんだか、あれこれ調べてみた。

適当なソフト(cltc、窓替えなど)を使いタスクを切り替えウィンドウをアクティブにして、menuhackerでファイラを開く

menuhackerでファイラを開くにはちょっとした準備がいる。
menu.iniに、以下の行を追加する。


Program Files Open,run,C:\Program Files\PPX\PPCW.EXE,"%dir%"


スクリーンショットはこんなふう

いまいちな点
別途必要ソフトを起動して、表示させたいプログラムをアクティブにしないと、使えない。

方法その2 cltcを使う

cltcを起動させる。表示させたいプログラムを選択してから 任意のキーを押下してcltcのメニューを表示させ、ファイラを指定して目的のフォルダを開く。

cltcでもファイラを開くには準備がいる。

ユーザーが任意にメニューが設定できるようになっている。
ので、そのメニューにファイラを指定する。

自分の場合は tab  でメニューをポップアップさせ、選択したプログラムのディレクトリパスをファイラに送るようにしている。

cltcのプップアップメニューにファイラメニューを表示させるには、cltc.iniに以下のとおり記述しておく。

[Cmd]
CmdMax=1
Name1=PPX(&J)
Path1=C:\Program Files\PPX\PPCW.EXE
Param1=/r "%D"

cltcを起動させ、メニューを任意のキーでポップアップさせてからファイラを開くコマンドを指定すればよい。

スクリーンショットはこんなふう

いまいちな点
cltcを起動させ、メニューを任意のキーでポップアップさせてからでないと、ファイラにパスが送れない。つまり、余計なキーストロークをいったん踏まないと、プログラムを表示されるファイラにパスが送れないということ。平たくいえば、ニュー表示のために、余計な任意のキーの押下が必要となってしまうということ。

方法その3 qt0を使う

qtzero.exeにはプロセスを終了させるだけではなく、プロセスの実行コマンドの、親フォルダを開くことのできるキーボード操作が容易されている。

具体的には、プロセスを選択した状態で Shift+Enter を押す。
となれば、操作はいたって簡単。

ホットキーでqtzero.exeを起動させ、出てきたポップアップメニューから開きたいプログラムを選択し、Shift+Enterを押せばいい。

スクリーンショットはこんなふう

すばらしい点
qtzeroの長所はなんといっても起動しているプロセスをすべて表示してくれるという点。いずれについても例外なくインストールフォルダが開ける。たとえば起動中のファイアーウォールのインストールフォルダを開きたいと思った場合、プロセスを選択して表示させるだけでよい。

と、ここまで書き終えてから、つい偶然に、しみじみとQuickDirのreadmeを読み返してみた。
なんと、キーボードだけでも操作ができるじゃあないか!!!
前回読んだとき、肝心な部分を読み飛ばしていたらしい。つくづくアホや。

というわけで・・・
方法その4 QuickDirを使う

QuickDirをhotkeyで起動させ、アクセラレータキー「:」を押せば、プログラムのインストールフォルダが開ける。
ファイラのパスはあらかじめ以下のように設定しておく。

[FilerPath]
C:\Program Files\PPX\PPCW.EXE
[FilerParam(ItemPath=%)]
/r "%"

たったこれだけ。あっけないほど簡単じゃあないか。

スクリーンショットはこんなふう

いまいちな点
実行プログラムのウインドウをアクティブにしないといけない。残念なことにその操作はタスク切り替えソフトなどに頼らないといけない。

結論

マウスなしでプログラムのインストールフォルダを開く方法をいくつか見つけられてよかった・・・

選択肢はたくさんあったほうがよいにこしたことはない。

プログラムが起動しており、ウィンドウがアクティブになっている場合はQuickDirのが一番よいだろう。

たくさんのプログラムが起動中の場合は、qt0を使うのが便利だ。

都合のよいことに、AutoHotkeydですぐにプログラムが起動できるようになっているので、これまでエンターを押してプロセスを終了させていたのを、ただ シフトを押しながらエンターで確定させればいいだけだから。


おまけ

qt0は、AutoHotkeyを使い「左Winキー2度押し」で起動させるようにしてみた。
2チェンネルのAutoHotkeyスレッド part4 629 を参考にさせてもらったスクリプトはちなみにこんな感じ。

DoubleKey(RunCommand, timeout){
if(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < timeout)
Run, %RunCommand%
}
~RWin up:: DoubleKey("C:\tool\qdir071\qdir.exe /d", 400)

これがめちゃくちゃ便利。

左右のWinキーはいうに及ばず、左右のShiftキー、CtrolキーおよびTabなどいろいろ使えて、ホットキーの幅が広がる。ただし、ホットキーを覚えないといけないが・・・

2008-01-24

エディタをほんの少し使いやすくするfenrirインスタントコマンドちょいワザ

EmEditorをフリーウェアの頃から愛用している。

EmEditorでファイルメニューから新規作成を選択すると実に26もの選択肢が表示される。



















テキストファイルの作成は、Ctrl + N で新規ファイルを作成できるように設定している。
テキストファイルを作成するときは簡単だが、そうではない場合は新規作成のポップアップメニューから目的の拡張子をマウスで選択しなければならない。
HTMLやCSSやINIファイルを新規で作成するのは、けっこう面倒だったりする。

この面倒な点をすっきり解消してくれるのがfenrirである。

インスタントコマンドを使えば、好みの拡張子のファイルを、簡単に作成してくれる。
設定はあっけないほど簡単。
インスタントコマンドファイルに以下を記述してやればいい。

e/="C:\Program Files\EmEditor\EmEditor.exe" %A


具体的にはfenrirを起動し、作成したいファイル名(この場合は拡張子まで含む)、たとえば「test.txt」を入力し、Enterを押せば、指定したファイルは存在しません。新規に作成しますか?と問われるので、「はい」にすれば「test.txt」がエディタで作成される。
拡張子の入力が面倒であれば、以下のようにすればよい。

txt/="C:\Program Files\EmEditor\EmEditor.exe" %A.txt
html/="C:\Program Files\EmEditor\EmEditor.exe" %A.html
css/="C:\Program Files\EmEditor\EmEditor.exe" %A.css

などなど、設定は思いのまま。
たいがいのエディタでこれが使えるようだ。

いやぁ~・・・fenrirってほんとすげぇ・・・

別に覚えておかなくてもとても困るというわけではないけれど、覚えておけば便利で、ほんのすこし得した気分になれるかもしれないというニッチなちょいワザ。

お粗末でした。

2008-01-17

PPcでのファイルのコピー・移動をほんのすこし便利にする fenrirを使って

PPcでファイルのファイルのコピー・移動はもっぱらウィンドウを2枚起動させておいて、左の窓がコピー(あるいは移動 以下おなじ)元、右がコピー先として、任意のキーを割り当て、コピーをしていた。

もう少し具体的にどういう動作をするのかを説明すると以下のとおり。

fenrirを使ってコピー元のフォルダを表示させる。
同じくfenrirを使ってコピー先のフォルダを表示させる。
コピーに割り当てたキーを押し、(たとえばShift + ?とか)反対窓に選択したエントリがコピーされる。
(注 反対窓にコピーされるのは、ファイルオペレーションコマンドのコピーの設定を反対窓にしているため。反対窓の設定をしていなければパスを入力する必要がある。ファイルオペレーションコマンドについてはおまけを参照されたい)
間違いのない確実なコピー方法として愛用させていただいている。

が、ときおり、コピー先となる右側の窓を指定するのが面倒な場合がある。
せっかくfenrirをかませてPPcを利用しているのだから、fenrirで選択したパス(この場合、PPcの右側の窓で開きたいコピー先のフォルダパス)を、PPcへ渡したいと考えた。

*file(ファイルオペレーションコマンド)を使ってみたがうまくいかない。
具体的にはPPc上の複数エントリーのコピーがうまくいかない。カーソルのあるエントリしかコピーできない。何も指定しなければマークしたエントリーが対象となるはずなのだが。なぜなのかはわからずじまい。そういえば *fileの仕様変更があったような・・・

*fileをあきらめて*ppcfile を使ってみたらうまくいった。
詳しくはヘルプファイル「 *ppcfile [!]action[,destdir[,option]] [C]/[M]コマンドを実行」を参照されたし。

具体的にはfenrirの任意のコマンドファイル(たとえば4Jとか)に以下の内容を記述する。

[.***;
&Copy |"C:\Program Files\PPX\PPCW.EXE" -r -k *ppcfile !Copy,"%P"
]

この方法を使ったファイルコピーの具体的な動作は以下のとおり。
fenrirを使ってコピー元のフォルダを表示させる。
PPc上でコピーしたいフォルダあるいはファイルを選択する。
再度fenrirを使ってコピー先のフォルダを選択し、fenrirの任意のコマンド4Jを実行する。

これでよりスムースにファイルコピーができるようになった。

なお「移動」したい場合は、*ppcfile !Copy,"%P" Copy部分を「Move」に変えてやればいい。
「!」をつけると確認なしで実行されるが、「!」だとファイルオペレーションオプションのダイアログが出て確認ができるうえ、さらに親切なことにTestも行える。


おまけ

ファイルオペレーションコマンドを使ってみた。

ファイルオペレーションコマンドにはあらかじめいくつかの設定が登録されている。
コピー、移動では細かな設定が可能。
名前変更ではワイルドカード、正規表現が使用でき、連番置換も可能。
そのほかミラーリングや削除、ショートカットの作成などまで用意されている。
Copy.Move,Renameなどに限ってあらかじめ「Undo log」が設定された操作に対してUndoが可能である。

それだけで十分便利なのに、さらに任意の設定を追加することができる。

たとえば、常に特定のフォルダ(D:\Backとか)に、選択したファイルの上書きコピー行う。など。

どうやって設定するかは以下のとおり。
ファイルオペレーションオプションを表示させる













Actionのプルダウンメニューから設定保存を選択




適当な名前をつけて保存。Copy2など
処理先をどこにするかきいてくるので、この場合はいいえを選択。








このままだと保存した時の設定状態が保持されるので、オプションを変更する。下の例の場合だと
先を「D:\Back」にし、同名ファイルの処理は「上書き」をチェックする。
再度Actionのプルダウンメニューから設定保存を選択し、上書き保存すれば設定が保存され、「 Copy2」の設定が追加される。












これの活用方法はさまざま。これを覚えておけば少しはしあわせになれる。たぶん。

さいごに
いつものことながら、こんなにすばらしいソフトを提供してくださっている作者の方々に感謝です。

2008-01-14

PPx 独自メニューの割り当てに挑戦

ほんのちょっとばかりPPxが使えるような気になったものだから、しばらくは身の程知らずな無謀な試みをやめ、これまで学んだことだけでPPxを操ることで満足していた。
が、正月休みという長い時間を過ごすうちに、目を見張るばかりのバージョンアップを目のあたりにしてしまい(せっかくバージョンアップしてもらっても、たいして活用できてないのがほんと悲しい)、これまでできなかったことに挑戦することにした。
というわけでその挑戦とは、独自メニューの割り当てなわけである。

最終目的は「テキストファイルを任意のエディタで開く」というごく簡単なもの。

これは、べつに独自にメニューを割り当てなくとも、
M_exec(個人用実行メニュー)に割り当てれば簡単にできる。
あるいは選択エントリーのファイルパスを関連付け版「esExt5」に投げてやってもいい。

でもせっかく本体に独自でメニューを割り当てられる機能がついているのだから、どうしてもそれを利用してみたい。

ヘルプファイルを読んでみると、ものすごく簡単そうに見える。
できないわけはない。そう思ったわけである。

以下ヘルプの該当箇所の抜粋

メニューを複雑/付け足し/階層化したい
M_xxxx の名前でメニューを作成し、「%M_xxxx」を使うことでメニューを表示します。

PPxはメニューの追加や階層化が可能です。

また、メニュー内に「%M_xxxx」を記載することで階層化されます。


例)PPcで各種アプリケーションの実行メニュー M_exec を「,」キーに登録する。M_execは下位階層のメニューM_execsubを持つ。

KC_main = {
',' ,%M_exec
}
M_exec = {
&app1 = c:\bin\app1
app&2 = c:\bin\app2
app&3 = c:\bin\app3
その他 = %M_execsub
}
M_execsub = {
app&4 = c:\bin\app4
app&5 = c:\bin\app5
&shutdown = *shutdown
}
更に、次のようにメニューを使って選択肢を挿入することができます。
例)PPcの[?]にパスジャンプメニュー M_jump2 を追加する
KC_main = {
'?' ,%j%M_jump2
}
M_jump2 = {
&1 bin = c:\bin
&2 temp = %'temp'
&3 etc = %M_pjump
}


まず、M_Editor の名前でメニューを作成してみる。
M_Editor = {
&EmEditor = "C:\Program Files\EmEditor\EmEditor.exe"
&NTL = "C:\Program Files\NoteTab Light\NoteTab.exe"
Sa&kura  = C:\tool\Sakura\sakura.exe
&Stirling = C:\tool\stir131\Stirling.exe
}


これをPPX.CFGのM_execの後に追加して保存。
ここまではわけない。問題はこの先。これだけだと使い物にならない。
ヘルプとにらめっこ。それによるとPPcのメインメニューに%M_Editorを追加しないといけないらしい。
それだけではなく適当なキーを割り当てる必要があるようだ。そこで割り当てキーは ^E にすることにする。

KC_main = { ; PPcメイン窓
 中略
^E ,%M_Editor
 以下略


これで任意のエディタでファイルが開けるはず。なんだ、簡単じゃねえかと試してみたところ、エディタは開けるが、選択したファイルが開けない。
なんでなんだぁ~!!! ・・・一晩寝て、考えた。

冷静になって考えてみると、PPxにファイルのパスを渡してないことに気がついた。
PPxにファイルのパスに渡すにはどうすればいいんだっけかなぁ・・・
再度ヘルプファイルとにらめっこ。
%FDC あるいは %#FDCとかをくっつけないとパスが渡らない。
M_Editorのほうにつけるのか、KC_mainのほうにつけるのかわからなかったので試したところ、M_Editorのほうでよいことが判明。

M_Editor = {
&EmEditor = "C:\Program Files\EmEditor\EmEditor.exe" %#FDCB
&NTL = "C:\Program Files\NoteTab Light\NoteTab.exe" %#FDCB
Sa&kura = C:\tool\Sakura\sakura.exe %#FDCB
&Stirling = C:\tool\stir131\Stirling.exe %FDCB
}



というわけで、M_Editorを上記のように修正し、再挑戦したところ、ビンゴ!!
途中でつまずいたものの、目標はめでたく達成、独自メニューのできあがり。

せっかく独自メニューをマスターしたのだからと、調子にのっていろいろ割り当ててみた。
画像用メニュー
M_Picture = {
&PhotoFiltre = "C:\Program Files\PhotoFiltre\PhotoFiltre.exe" %#FDCB
FS &Resize = "C:\Program Files\FastStone Photo Resizer\FSResizer.exe" %#FCD
FS &Viewer = "C:\Program Files\FastStone Image Viewer\FSViewer.exe" %#FCD
P&NG = C:\tool\Yukari\BlastPNG.exe %#FCD
}
    検索用メニュー
    M_Search = {
    &getia = C:\soft\getia\getia.exe %#FCD
    %snowbird = C:\soft\snowbird_xp\Snowbird.exe %#FCD
    %locate32 = "C:\Program Files\locate32\locate32.exe" %#FCD
    }
    で、あれこれやってみてわかったこと。
    確かに独自メニューに特定のキーを割り当てるのは便利だけれど、割り当てたキーがなんだったか覚えきれなければ何の役にも立たないではないか。
    M_exec(個人用実行メニュー)に割り当てるか、あるいは、手間をおしまずポチエスにパスを投げてしまうのがいちばん簡単で手っ取り早いということ。
    とういうわけで独自メニューはエディタ用だけにとどめておくのが無難だろうということで決着。