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」の設定が追加される。












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

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