社内プロセスの一環として、ZIP ファイルを検査するための Ruby コードをいくつか作成しました。通常、このコードを起動する方法は、Web ブラウザーからです。クリックしてファイルをダウンロードするときは、[プログラムから開く] を選択し、小さなバッチ ファイルへのフル パスを指定します。この 1 行のバッチ ファイルは次のようになります。
\\mathworks\public\Matthew_Simoneau\ruby-1.8.7-p72-i386-mswin32\bin\ruby.exe "%~dp0inspect.rb" %1
私の知る限り、この手法は、Ruby がインストールされていないが、会社の内部ファイルシステムにアクセスできる Windows マシンで Ruby コードを起動する唯一の簡単な方法です。
ZIP ファイルのファイル名にアンパサンドが含まれていると問題が発生します。
これは IE と Chrome で問題なく動作し、上記の行は次のように「展開」されます。
C:\WINNT\Profiles\matthew\Desktop>\\mathworks\public\Matthew_Simoneau\ruby-1.8.7-p72-i386-mswin32\bin\ruby.exe "\\mathworks\public\Matthew_Simoneau\sandbox\inspect\inspect.rb" "C:\WINNT\Profiles\matthew\Local Settings\Temporary Internet Files\Content.IE5\VNATJ3X0\park&park_paper_LMI_neuralN[1].zip"
ただし、Firefox では、ファイル名のアンパサンドの後のすべてが削除されます。
H:\>\\mathworks\public\Matthew_Simoneau\ruby-1.8.7-p72-i386-mswin32\bin\ruby.exe "\\mathworks\public\Matthew_Simoneau\sandbox\inspect\inspect.rb" C:\Temp\park
%1バッチファイルに引用符を入れてみましたが、効果はありません。
これは Firefox のバグだと思います。Firefox のバグ リストを検索しましたが、何も見つかりませんでした。
ここで何か間違ったことをしていますか?これは Firefox のバグですか? もしそうなら、それを回避する方法はありますか?Ruby コードを Web ブラウザーから起動するためのより確実な方法はありますか?
更新: Bugzilla@Mozilla にバグ レポートを提出しましたが、まだ応答がありません。