PlantUML ダウンロードした jar ファイルで、
java -jar plantuml.jar ファイル -charset UTF-8
を実行するのは、結構面倒くさい。。。
oboe2uran.hatenablog.com
そこで、ファイル選択ダイアログで選択する bat ファイルを用意することにする。
まずは、ファイル選択ダイアログを bat ファイル で動かすため、
基になる ファイル選択だけの確認!!
@echo off @rem set "File=C:\a.txt" set "Filter=テキスト (*.txt)|*.txt|すべてのファイル (*.*)|*.*|" set "Title=ファイルの選択" for /f "delims=" %%I in ('MSHTA.EXE "about:<object id=HtmlDlgHelper classid=CLSID:3050f4e1-98b5-11cf-bb82-00aa00bdce0b></object><script>resizeTo(0,0);function window.onload(){var Env=new ActiveXObject('WScript.Shell').Environment('Process');new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(HtmlDlgHelper.object.openfiledlg(Env('File'),null,Env('Filter'),Env('Title')).replace(/\0.*/,''));close();}</script><hta:application caption=no showintaskbar=no />"') do echo %%I pause
↑ for ~ の行は、改行を入れてはならない。
目的の plantuml.jar 実行、、
C:\Programs\PlantUML の下に、planttml.jar を置いて、java コマンドのパスも通ってる環境で、、
@echo off set "Filter=Markdown (*.md)|*.md|plantUML (*.pu)|*.pu|すべてのファイル (*.*)|*.*|" set "Title=PlantUMLファイルの選択" for /f "delims=" %%I in ('MSHTA.EXE "about:<object id=HtmlDlgHelper classid=CLSID:3050f4e1-98b5-11cf-bb82-00aa00bdce0b></object><script>resizeTo(0,0);function window.onload(){var Env=new ActiveXObject('WScript.Shell').Environment('Process');new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(HtmlDlgHelper.object.openfiledlg(Env('File'),null,Env('Filter'),Env('Title')).replace(/\0.*/,''));close();}</script><hta:application caption=no showintaskbar=no />"') do java -jar C:\Programs\PlantUML\plantuml.jar %%I -charset UTF-8
これで、DOSプロンプトウィンドウを起動してコマンドを打たなくて済む。