「ポチエス」名称による関連付け専用版を使う

画像フォルダと音楽フォルダを違うソフトで開きたい


僕は、ランチャにfenrirを使っている。ここでパスを絞り込んだあとに、それをポチエスかfenrirのコマンドファイルに投げる、という使い方をしている。

このやり方によって思考の順序に沿ってファイルを操作することができ、非常に作業がスムーズになる。PPxカスタマイズつかさの第一歩で、ポチエスについて書いているところを参照してください。

けれど、フォルダの関連付けの動作だけは僕の思うようにできなかった。拡張子判別のように、フォルダごとの区別をつけられないからだ。
フォルダにしても、どこに投げるかという用途が決まっているものはある。僕は、画像の閲覧と音楽ファイルを聞く、というのにフォルダをソフトに投げるということをする。画像だったら、特定のアニメとかジャンルとかのフォルダを投げて閲覧というのが一々fenrirで個々の画像ファイルのパスを取得して投げるというより効率的だし、音楽ファイルもアルバム形式で聞く方が多い。
けれども、ポチエスにしろfenrirのコマンドファイルにしろ、拡張子で判別をして外部ソフトに投げるという仕組みであるから、この二つのフォルダを区別することができない。このフォルダのときにはこのソフトを、違うフォルダの時にはまた違うソフトを、というように場合わけできない。
そのため、フォルダの関連付けの際には、画像閲覧ソフトとオーディオソフトとの二つを登録しておいて一々選択する、ということをしないとダメだった。画像フォルダをオーディオソフトに投げるということも、音楽フォルダを画像ソフトに投げるということも絶対にあり得ないので、僕は一々無駄な作業をしなければならないということだ。僕は作業をしながら音楽を聴くので、このフォルダを投げる、という機会は多い。そのため、一々いらいらしていた。

これを解決するため、「ポチエス」名称による関連付け専用版を用いました。今回は、そのやり方を紹介。

名称による関連付け専用版の説明


これは、ファイルパスによって起動するソフトを変えれるというもの。
正規表現とかも使えるようです。
ポチエス配布サイトのesExt5145.lzhを解凍すると、その中にesExt5_c.lzhというのが入っています。それを再び解凍して使います。

今のフォルダ構造とやりたいこと


僕は、画像は全て壁紙フォルダの下にフォルダをつくってつっこむというようにしている。

D:\data\kabegami
D:\data\kabegami\LuckyStar
D:\data\kabegami\つかさ

という感じ。

音楽のほうは、前にバックアップの考察でも言ったように、それ専用のMusicフォルダをDドライブ(D:\data\music)に作り、そのサブフォルダを羅列する、という方法。アルバムはそれのフォルダを作り、シングルはsingleフォルダにひたすら入れていくという方法。

D:\data\music\single
D:\data\music\THE TIMERS

みたいな感じです。そして、Musicフォルダがいっぱいになったら、もっと具体的に言うとDVD-Rで保存できる容量を超えたら、その中身を適当なフォルダをつけたフォルダに入れるというようにしている。E:\Musicの下に、それを並べています。

[Music]
 ├ [08Septembermusic]
 ├ [AnimeMusic]
 ├ [augustmusic]
 ├ [Febmusic]
 ├ [JPopMusic]
 ├ [JuneMusic]
 └ [PopMusic]

だから、D:\data\kabegamiとそのサブフォルダは、画像閲覧ソフトに。D:\data\musicとE:\Musicのサブフォルダはオーディオソフトに投げる、ということができたらいい。

具体的なやり方


従来と同じようにiniファイルに記述。esExt5_c.iniですね。関連付けの方法は、普通の関連付け版と同じで、タグをつけていく、というやり方です。

[文字列]
コマンド
%end

を追加していけばいい。
この文字列で、場合分けをする。

[^文字列]        : 文字列の先頭マッチ
[$文字列]        : 文字列の後部マッチ
[-文字列1&&文字列2...]  : 文字列の中間マッチ(AND指定順無効)
[+文字列1&&文字列2...]  : 文字列の中間マッチ(AND指定順有効)
[!正規表現m構文]    : 正規表現によるマッチ

先頭一致は、特定のフォルダとそのサブフォルダ、サブファイルに関連づけ。中間マッチは、さらに細かい設定ができそう。間にMusicというフォルダをはさんだやつを関連付けとか。後部マッチは使い方がぱっと思いつかないです。
僕がやりたい範囲では、文字列の先頭マッチだけで十分。

esExt5_c.ini

[system]
@menu=active

@context=0
%end

[^D:\data\kabegami]
 D:\bin\Hamana\Hamana.exe
%end

[^E:\Music][^D:\data\music]
 D:\bin\AIMP2\AIMP2.exe
%end

[.*]
;例外拡張子の設定。従来の関連付け版ポチエスに投げる。
 D:\bin\esExt\esExt5.exe
%end

これで、あとはfenrirなりファイラなりからパスを取得して、このポチエス名称による関連付け専用版に投げればいいということに。

[.*]
;例外拡張子の設定。従来のポチエスに投げる。
 D:\bin\esExt\esExt5.exe
%end

として、名称で関連付けたいの以外は従来のポチエスに投げる、というようにしていたら何も考えなくてもスムーズにいくみたいですね。普通の関連付け版の設定を、そのまま利用することができるっぽいです。

fenrirとかあふとかPPxに登録

fenrirで、Enterを押したらポチエスにカーソル位置のファイルを渡すようにする。

0enter.txt

[.***;
PochiS | D:\bin\esExt5_c\esExt5_c.exe "%P"
]


あふで、Shift+Enterにポチエスを登録。

D:\bin\esExt5_c\esExt5_c.exe "$F"

を割り当てる。


同じく、PPxでもShift+Enterに以下を割当て。

%Ob D:\bin\esExt5_c\esExt5_c.exe %FCD

私の使い方-fenrirとの連携


実際の使い方としては、僕はfenrirのコマンドも利用している。そこから、今回の名称による関連付け専用版を起動する、というようにしているから、少しだけややこしい、というかぶっちゃけ参考にならないと思います。備忘録として、メモメモ。

僕は、Enterで拡張子実行、というようにしています。0enter.txtのフォルダの関連付け箇所を、次のように変更。

[.\\\;
Aimp2 | D:\bin\AIMP2\AIMP2.exe "%P"
Hamana | D:\bin\Hamana\Hamana.exe "%P"
]

としていたのを、

[.\\\;
PochiS | D:\bin\esExt5_c\esExt5_c.exe "%P"
]

に。一応、0enter.txtの中身を全てコピペ。

0enter.txt

[.\\\;
PochiS | D:\bin\esExt5_c\esExt5_c.exe "%P"
]

[.mp3;
Aimp2 | D:\bin\AIMP2\AIMP2.exe "%P"
]

[.txt; .ini; .cfg;
ttPage-R | D:\bin\ttPage-R\ttPage.exe "%P"
PPv | D:\bin\ppw\PPVW.EXE "%P"
sakura | D:\bin\sakura\sakura.exe -WX=300 -WY=150 -R "%P"
Eve | "C:\Program Files\Crescent Eve\Eve.exe" "%P"
]

[.ahk;
ttPage-R | D:\bin\ttPage-R\ttPage.exe "%P"
ShellExecute|"%P"
]

[.jpg; .bmp;
MassiGra | D:\bin\MassiGra\MassiGra.exe "%P"
Hamana | D:\bin\Hamana\Hamana.exe "%P"
]

[.???;
ShellExecute|"%P"
]