作为公司内部流程的一部分,我编写了一些 Ruby 代码来检查 ZIP 文件。我们通常启动此代码的方式是从 Web 浏览器。单击下载文件时,选择“打开方式”并指定小批处理文件的完整路径。这个单行批处理文件如下所示:
\\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 错误吗?如果是这样,有没有办法解决它?有没有更强大的方法可以从 Web 浏览器启动我的 Ruby 代码?
更新:我向 Bugzilla@Mozilla 提交了错误报告,但还没有回复。