rubyscript2exeでshebangに-Ksを付ける方法

先日の日記「rubyscript2exeの困りごと」で変換できないと書いたSJISスクリプトだが、以下のようにすると回避できるようだ。

まず、rubyscript2exe sample.rb等で普通にsample.exeを作る。

次に、内部ファイルを取り出す。これには--eee-justextractというオプションをつければよいのだが、カレントディレクトリに展開されてしまうので、適当にサブフォルダを作るとよい。

mkdir tmp
cd tmp
..\sample.exe --eee-justextract

展開されたファイルのうち、empty.rbという空のファイルに#! ruby -Ksを入れて保存する。あとは以下のようにしてexeを作れば完成。

eee.exe app.eee ..\sample_sjis.exe

Rakefileに書けば自動化もできそう。

追記:調査中に作者のErikにメールで質問したらすぐ返事してもらえた。えらい。rubyscript2exe超オススメ!(とか宣伝しておく)