・文字コードがUTF-16のPPX.CFGがPPXフォルダにあることが前提
準備
1.BusyBoxからバイナリをダウンロードし、busybox64.exeをPPXフォルダに入れる
2.以下を編集して取込
_Command = { ; ユーザコマンド・関数 cfg2sed2clip = %Obsq %0busybox64.exe iconv -f UTF16 -t UTF8 %0PPX.cfg | %0busybox64.exe sed -n "/^%*arg(1)/{p; :loop n; p; /^}/q b loop }" | %0busybox64.exe iconv -f UTF-8 -t CP932 | clip } KC_main = { ; PPcメイン窓 '@' ,*string o,name=%*regexp("%*input("" -title:"CFG部分取得" -mode:e -k:"*completelist /set /file:%%0PPX.CFG")","s/^(.*);/$1/") %: *ifmatch "/{/","%so"name"" %: *cfg2sed2clip "%so"name"" %: *stop *cliptext %so"name" }
使い方
・@を押すと、PPX.CFGを補完候補リストにした一行編集が表示される
・X_vzs = 0のような一行形式のものは、その行をクリップボードにコピー
・KC_mainのような複数行に渡るものは、{}の中身を含めてクリップボードにコピー
ユーザーコマンドとして使う場合
_Command = { ; ユーザコマンド・関数 cfg2sed2clip = %Obsq %0busybox64.exe iconv -f UTF16 -t UTF8 %0PPX.cfg | %0busybox64.exe sed -n "/^%*arg(1)/{p; :loop n; p; /^}/q b loop }" | %0busybox64.exe iconv -f UTF-8 -t CP932 | clip cfgfazzy = *string o,name=%*regexp("%*input("" -title:"CFG部分取得" -mode:e -k:"*completelist /set /file:%%0PPX.CFG")","s/^(.*);/$1/") %: *ifmatch "/{/","%so"name"" %: *cfg2sed2clip "%so"name"" %: *stop *cliptext %so"name" }
凄いカスタマイズ紹介ありがとうございます。こちらでは%0をC:\Program Files\PPxにしており、途中にスペースが入っているのでパスや引数を""でくくる必要があるのですが、その場合以下のようにすると良さそうです。
返信削除_Command = {
cfg2sed2clip=%Obsq "%0busybox64.exe" ""iconv -f UTF16 -t UTF8"" "%0PPx.CFG" | "%0busybox64.exe" sed -n "/^%*arg(1)/{p; :loop n; p; /^}/q b loop }" | "%0busybox64.exe" ""iconv -f UTF-8 -t CP932"" | "C:\Windows\SysWOW64\clip.exe"
cfgfazzy = *string o,name=%*regexp("%*input("" -title:"CFG部分取得" -mode:e -k %%:*completelist /set /file:"%%0PPx.CFG")","s/^(.*);/$1/") %:
*ifmatch "/{/","%so"name"" %: *cfg2sed2clip "%so"name"" %: *stop
*cliptext %so"name"
}