2013年11月25日月曜日

PPxの拡張子判別

拡張子判別


今回は拡張子判別をする方法。
たとえば、Shift+Enterで画像ファイルを拡張子判別したい場合は、次のようにする。

E_scr = { ** comment **
JPG ,%M_Picture,A
PNG ,%M_Picture,A
JPEG ,%M_Picture,A
BMP ,%M_Picture,A
}
M_Picture = { ** comment **
&Azpainter = %Ob D:\bin\azpt\AzPainter2.exe %FCD
&MassiGra = %Ob D:\bin\MassiGra\MassiGra.exe %FCD
縮小専用(&S) = %Ob D:\bin\smahe\SmaHey.exe %FCD
-- = 
&DialogHandler = %Ob D:\bin\DialogHandler\DialogHandler.x86-32.exe %FCD
壁紙にする(&W) = *customize X_bg:Path=%FDC %: *customize X_bg:Type=10
}

E_scrというのは、デフォルトでShift+Enterに割り振られている拡張子判別。
これで、カーソル上の拡張子が.jpg .png .jpeg .bmp の時は、Shift+Enterを押せばM_Pictureメニューを表示するようになる。


パスによる判別と拡張子判別の組み合わせ


これと、前々回のパスによる判別を組み合わせてみる。

ShiftEnter.js

//!*script

aimp = "C:\\Program Files\\AIMP2\\AIMP2.exe";
folder = /D:\\data\\Music/;

if (PPx.GetFileInformation(PPx.Extract("%FCDN")) == ":DIR"  && PPx.Extract("%1").match(folder)){
  PPx.Execute ("%Ob \"" + aimp + "\"%#FCDN");
}else {
PPx.Execute("%ME_scr");
};

以下を編集して取り込み。

KC_main = { ; PPcメイン窓
\ENTER ,*script %0\Script\ShiftEnter.js
}

Shift+Enterで、パスがD:\Music内のフォルダの場合はそれをAimpに渡す。
パス判別に引っかからなかったものは拡張子判別E_scrに投げる。最後から二行目を前のから書き直したんだけどこれやってること同じで書き直した意味ないですね今気づいた。

使っている拡張子判別メニュー


今僕が使っているメニュー。ポチエスに投げてたのをすべてPPxのみでやってしまおうと思っている。

E_scr = { ** comment **
JPG ,%M_Picture,A
PNG ,%M_Picture,A
JPEG ,%M_Picture,A
BMP ,%M_Picture,A
TXT ,%M_Text,X
INI ,%M_Text,X
CFG ,%M_Text,X
L ,%M_Text,X
XYZZY ,%M_Text,X
HOWM ,%M_Text,X
TEX ,%M_Text,X
MP3 ,%Ob "C:\Program Files\AIMP2\AIMP2.exe" %FCD
OGG ,%Ob "C:\Program Files\AIMP2\AIMP2.exe" %FCD
MPG ,%Ob "C:\Program Files\AIMP2\AIMP2.exe" %FCD
WMA ,%Ob "C:\Program Files\AIMP2\AIMP2.exe" %FCD
FLAC ,%Ob "C:\Program Files\AIMP2\AIMP2.exe" %FCD
HTML ,%Ob "C:\Program Files\Crescent Eve\Eve.exe" %FCD
HTM ,%Ob "C:\Program Files\Crescent Eve\Eve.exe" %FCD
* ,%"Text edit"%Orib,editor %FDC
}
M_Picture = { ** comment **
&Azpainter = %Ob D:\bin\azpt\AzPainter2.exe %FCD
&MassiGra = %Ob D:\bin\MassiGra\MassiGra.exe %FCD
縮小専用(&S) = %Ob D:\bin\smahe\SmaHey.exe %FCD
-- = 
&DialogHandler = %Ob D:\bin\DialogHandler\DialogHandler.x86-32.exe %FCD
壁紙にする(&W) = *customize X_bg:Path=%FDC %: *customize X_bg:Type=10
}
M_Text = { ** comment **
&xyzzy = %Ob D:\bin\xyzzy\xyzzy.exe %FCD
&oedit = %Ob D:\bin\oedit\oedit.exe %FCD
xyzzyで印刷(&P) = %Ob D:\bin\xyzzy\xyzzy.exe -p %FCD
}

0 件のコメント:

コメントを投稿