ストアアプリ版Paint.Netに複数画像を"送る"

俺氏が日頃使用している画像編集ソフトは『Paint.NET』である。

ある時、ストアアプリ版が出ているのに気づき、「寄付はあれだけど、まあ還元もしないとね(・∀・)」と購入した。

今回、20H2のクリーンインストールに際し、従来のexeタイプはインストールせず、購入したストアアプリ(UWPアプリ)のみをインストールした。

で、いざ使ってみようとして困惑した…

ストアアプリをSendToでどうやって使うんや…(´・ω・`)


結論から言うと、以下の内容のバッチファイルを作り、それ自身またはショートカットをSendToフォルダに入れておけば良いようだ。

ストアアプリはその作りによって必ずしも引数に対応していないらしいのだが、Paint.NETは1ファイルだけは取ってくれるようなので、再帰的にURIスキームに引数を渡して呼び出す形にした。

一応これでエクスプローラー上で複数ファイルを選択して"送る"ことが出来た∩( ・ω・)∩

@echo off

for %%a in (%*) do (
  start paintdotnet:%%a
)

※SyntaxHighlighterでbatファイルを装飾表示させるには追加のファイルやら設定が必要らしいので、javaで表示(ノ∀`)

上述の通り、ストアアプリの作りによって変わってくるけれども、まあこのやり方でストアアプリに対してSendToを使えるようだ。

本当はファイル拡張子等をチェックして、画像ファイルじゃなかったら弾くようにするべきだが、面倒くさいので、そこは運用でカバー(・∀・)

よくよく考えてみると、SendToに入れるのバッチファイルじゃなくてVBSとかでもいけるんかな?
※VBSでURIスキームを叩く方法がわからんかった(ノ∀`) デキナイノカナ?


[参考]

ストアアプリのURIスキーム等については以下のページを読んだ。
ZipPla の外部アプリに UWP版 NeeView を登録する方法
Windows 10のMicrosoft Storeアプリをコマンドラインやバッチから起動する

for文に関しては、幾つかのページを彷徨う内になんとなくわかった。
for
バッチファイルでコマンドライン引数を扱う
知識ゼロからのwindowsバッチファイル超入門

ほとんどのページでデフォルトのデリミタは空白とタブとあったが、なんかカンマも指定しなくても機能していたような気がする。
一体これはなんなんだろうか?