PPxとFenrirとの連携
デザイン変更してみた
なんか気分変えたくなってデザイン変えてみた。ブログやるの初めてなので、こういうのいじるのに興味があるんです。カウンターも、今まではてな以外の使っていたけど、いろいろ面倒なのではてなのにしてみた。でも、これってカウンターとは少しことなるっぽいね。
カウンターは、これを変える前には566まで回ってました。とりあえず、後で参照したいときのため、ここに書いておきます。
設定をいろいろいじったんだけど、タイトル画像を変えるとこでなんか手間取る。画像の形式で、うまくいったり行かなかったりするんでしょうか。何回上げても、もとの画像が表示されてしまう。とりあえず、pngに変換したらうまくいったっぽい。
fenrirとPPxそれぞれの特徴
Fenrirは、一時的にパスを取得、それを用いるという用途に向いている。一度実行したら、それが消えて再利用はきかないということ。あと、パスを選択した後何をするかが一意的に決まっているものに使うとき。僕の用途では、
- パスを変える(PPx PPv DialogHandler)
- 実行する(ポチエス AIMP2)
- パスの取得
というように区分できる。
PPx、あるいはファイラは、そのパスを何回も使いたいという用途に向いている。あとは、ファイル操作。
- ビューア→エディタ
- リネーム
- ファイル操作、フォルダ操作
- zipなどの圧縮ファイル閲覧
特にこのことを意識して、やっているわけではないが、登録したコマンドを使わなかったり、必要に応じてコマンドを追加したりしているうちに、このようにそれぞれ区分されている。
Fenrirに移行したい動作
PPxでやっているけれども、これFenrirでやるのでよくね?というのがある。それについて改善したい。
フォルダの作成
これは、既にやっている。PPxでは、デフォルトではKを押せば作成できる。けれど、フォルダを作成する時なんて決まっているわけだ。新しくデータを作るときだとか、データがたまってそれを区分したいときだとか。その親フォルダは、既にFenrirで取得している可能性が高い。一々、フォルダを階層的に新しく作ろうということなどないから。だから、これはFenrirに任せられるはずである。
これは、WSHで実装した。前に作ったフォルダ作成のやつを、少し改造したの。Fenrirでパスを渡すと、フォルダ名を入力するダイアログが出る。それに入力、おkを押すと、それがその下層に作られる。
TTDateFolder2.vbs
Option Explicit Dim objFSO Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Dim dtmNow,MonthNow dtmNow = Now MonthNow=Month(dtmNow) If MonthNow < 10 Then MonthNow = 0&MonthNow Else End if Dim strDirname,StrPara1,strNewFolderName StrPara1=WScript.Arguments(0) strDirname = InputBox("フォルダ名を入力してください。",StrPara1&"\にファイルを作成します",Year(dtmNow)&"-"&MonthNow&"-"&Day(dtmNow),5000,9000) strNewFolderName = StrPara1&"\"&strDirname 'もし、フォルダが存在しない場合は作成する If WScript.Arguments.Count = 0 Then MsgBox "パラメータを一つ以上設定してください" ElseIf strDirname="" Then MsgBOx "キャンセルしました" ElseIf Not objFSO.FolderExists(strNewFolderName) Then objFSO.CreateFolder strNewFolderName MsgBox _ objFSO.GetAbsolutePathName(strNewFolderName) & vbCrLf & _ "を作成しました。" 'もしフォルダが存在する場合は何もしない Else MsgBox "すでに" & vbCrLf & _ objFSO.GetAbsolutePathName(strNewFolderName) & vbCrLf & _ "が存在します。" End If
これを、fenrirのCtrl+Kに割当て。次のようにコマンドファイルに書けばいい。
2k.txt
[.\\\; FolderMaker | D:\bin1\VBS\TTDateFolder.vbs "%P" ]
Fenrirで保存先フォルダのパスへ移動、コピー
以前に考察した、操作先のパスをどうするか、ということ。それについては、PPxでバックグラウンドで開くということでやっている。これはつまり、前面に出したくない、一時的にのみ表示したいと言うこと。これって、Fenrirで代替できんじゃね?
色々書くとこ(仮)さんを参考にしてみました。今回は貼らなかったけど、こういうのって、リンク勝手に貼っていいものなのかな。トラックバックとか勝手につくの躊躇するの;;
Fenrirにキーを割当て。コピーと移動。cmdフォルダに、以下のファイルを作る。
4c.txt
[.***; PPxCopy | D:\bin\ppw\PPCW.EXE -r -k *file !Copy,,"%P" ]
4m.txt
[.***; PPxMove | D:\bin\ppw\PPCW.EXE -r -k *file !Move,,"%P" ]
*fileというのは、これを使うと外部からコピーとか移動とかリネームとかをコントロールできるというもの。Fenrirとかの、外部ソフトでこれを使うときには-kというコマンドラインオプションとともに用いる。
移動やコピーなどの操作先と、操作元のファイルをここで指定できる。"%P"は、移動、コピー先がFenrirで今表示しているパス、ということね。で、ここで操作元を指定しないとPPxのカーソル上のパスが、操作元になる。
では具体的なやりかた。まず、PPxで、移動あるいはコピーをしたいフォルダやファイルに、カーソルを合わせる。
ついで、Fenrirを起動。カチャカチャして、移動先のフォルダのパスをリストアップ。で、コピーしたいならShift+Cを、移動したいならShift+Mを押す。すると、コピーまたは移動を実行してくれる。
これだと、移動先のフォルダをいちいち窓で開くなどが全く必要ない。これ、すごくね?ずっと試行錯誤してジャンプとかなんだとか工夫していたことが、一気に解決しちゃう。前にやったのは、窓を開くと言うことをしたけど、これはその必要すらない。もう、画面を二つ開く必要すらなくなるんじゃね、これ?
FenrirでPPvを変更
パスを変更する、というのがファイラとランチャの連携の基本。これを、PPvにも用いてみる。
[.txt;.ahk;.vbs;.ini; PPv | D:\bin\ppw\PPVW.EXE -r -noactive "%P" ]
これを、適当なホットキーに登録。バックグラウンドで、PPvを変更できる。
Fenrirの弱点をPPxで補う
ソート。時系列ソートができないと言うこと。この場合、PPxに送るしかない。
僕の場合、常時ソートが時系列順になっているから、何も考えなくてもただ送るだけでいい。違う場合には、ソートのコマンドも一緒に送る必要。*sortentryとか、使ったらいいのかな。