2023年6月24日土曜日

ファイル判別で項目にファイルパスを渡す方法の考察

前置き

PPxでは、%ME_xxx,filenameというように、ファイルパスを指定してのファイル判別ができる。ただ、個々の項目にそのファイルパスを渡す方法が難しいと思っていた。

最初に思いついたのは、ファイル判別をした後にfilenameを渡すやり方だ。

E_test	= {
*	,*launch
:DIR	,*ppc -r
TXT	,editor
}
%ME_test,"D:\Temp\hoge.txt" "D:\Temp\hoge.txt"

ただ、これだと起動オプションがfilenameの後ろに続く場合に困る。

次に思いついたのは、ユーザデータを利用するやり方だ。

E_test	= {
*	,*launch %*getcust(_User:hoge)
:DIR	,*ppc -r %*getcust(_User:hoge)
TXT	,editor %*getcust(_User:hoge)
}
*setcust _User:hoge="D:\Temp\hoge.txt" %: %ME_test

悪くはないが、構造がややこしい気がする。あとで手直しをするときに「このhogeってユーザデータなんだ…?」と思ってしまいそうだ。

以上のような理由で上の方法は使ってなかったが、最近ユーザコマンドを利用する方法を思いついたのでそれを紹介。

ユーザコマンドを利用する方法

以下を編集して取込。

_Command	= {
mypochis	= *execute ,%%M%*arg(1),%*arg(2)
}

-|E_test=

E_test	= {
*	,*launch %*arg(2)
:DIR	,*ppc -r %*arg(2)
TXT	,editor %*arg(2)
}

以下のコマンドを実行。

*mypochis E_test,"D:\Temp\hoge.txt"

これならシンプルで良さげ。

メニューを利用する場合

メニューを組み込みたい場合は、以下のようになる。

_Command	= {
mypochis	= *execute ,%%M%*arg(1),%*arg(2)
}

-|E_test=

E_test	= {
*	,*launch %*arg(2)
:DIR	,*ppc -r %*arg(2)
TXT	,editor %*arg(2)
JPG	,%M_myimage,M
PNG	,%M_myimage,M
}

-|M_myimage=

M_myimage	= {
MassiGra	= D:\bin\MassiGra\MassiGra.exe %*arg(2)
縮小	= D:\bin\Smahey\SmaHey.exe %*arg(2)
}

0 件のコメント:

コメントを投稿