fenrirについてその2 | パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください

パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください

開発の解決方法や新しい手法の情報を、パークのエンジニアが提供します。パークのエンジニアが必要な場合は、ぜひお気軽にお問い合わせ下さい。 株式会社パーク:http://www.pa-rk.co.jp/

こんにちは。バグ太郎です。

いつぞや投稿致しました記事に影響された方がいると信じて
fenrirに関連する記事を書かせて頂きます。

さて、fenrirといえば私が褒めに褒めちぎった高機能ファイランチャーですが
まずは利点をおさらいしてみましょう。

【利点】
・ファイラー+ランチャー、あるいはランチャーとして使える。
・インデックスを用いたディレクトリ探索機能がある。
・履歴から候補ディレクトリの表示順が変わる。
・レジストリを弄らず、設定は.iniのみ。
・キーワード、コマンドを自己で設定できる。
・動作がとても軽い。
・これと高機能なファイラーをあわせることでデスクトップを汚すことがなくなる。

以上のようになります。
前回は利点をあげるばかりだったので、
今回は私の体験談から問題点と打開策を提案させて頂きます。

・キーワード、コマンドを自己で設定できる。

というのが利点でも挙げられましたが、実は私がfenrirを使い始めた頃

「キーワードを設定しすぎて覚えられなかった。」んです。

いや、fenrir自体の問題点でも欠点でもなんでもないんですが・・・。
調子に乗りすぎて一気にコマンドを設定したとき

(あれ、設定したアレを起動するキーワードなんだったっけかな・・・)
って具合に、ちょこちょこfenrirの「instant.ini」を見に行ってました。

効率をあげるつもりだったのに。

というわけでhelpを作りましょう。
helpなんて言ってもキーワードを確認するんですから、コマンドを設定している「instant.ini」を表示すればいいだけですね。

今回はJScriptを使ってみました。
テキトーにテキスト作って以下を記述、拡張子を「.js」にします。

var FSO = new ActiveXObject("Scripting.FileSystemObject");
var path = "C:\\foo\\bar\\hoge\\instant.ini";
var stream = FSO.OpenTextFile(path, 1);
WScript.Echo(stream.ReadAll());
stream.Close();

pathの部分は確認したい「instant.ini」がある場所を指定してください。
「instant.ini」側に以下を記述します。キーワードはhelpでもなんでもお好きなようにどうぞ。

help=""%cmddir\instant.js" "%A""

ちなみに%cmddirというのは使用しているfenrirの下階層「cmd」ディレクトリを指します。
先ほど作成した「instant.js」を「cmd」ディレクトリにぶち込めばいいわけですね。

また、先ほど作成した内容だと「instant.ini」の内容は全て出力されてしまいます。
コメントの表示とかいらねーよ!という方は以下のような記述になると思います。

var FSO = new ActiveXObject("Scripting.FileSystemObject");
var path = "C:\\foo\\bar\\hoge\\instant.ini";
var stream = FSO.OpenTextFile(path, 1);
res = stream.ReadAll();
res = res.replace(/;.*$\n/gm,"");
WScript.Echo(res);
stream.Close();

後は好きなだけ「instant.ini」を肥大化させてしまっても
設定を忘れたときには「fenrirさん助けてー!」とinstant.jsを呼び出せば良いということですね。

好きなだけ設定して遊んでください。