我已經寫了一些Ruby代碼來檢查ZIP文件作爲公司內部流程的一部分。我們通常啓動此代碼的方式來自Web瀏覽器。當您單擊下載文件時,您選擇「打開方式」並指定小批處理文件的完整路徑。這一個單行批處理文件看起來像這樣:如何使Firefox打開一個文件名爲&的文件?
\\mathworks\public\Matthew_Simoneau\ruby-1.8.7-p72-i386-mswin32\bin\ruby.exe "%~dp0inspect.rb" %1
據我所知,這種技術是唯一的簡單的方法來啓動我的Ruby代碼在Windows機器上沒有安裝紅寶石,但確實有訪問公司內部文件系統。
當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的bug列表,但沒有找到任何東西。
我在這裏做錯了什麼?這是一個Firefox錯誤?如果是這樣,我有辦法解決它嗎?有沒有更強大的方式從Web瀏覽器啓動我的Ruby代碼?
更新:我申請a bug report與Bugzilla的@ Mozilla的,但一直沒有響應了。
這是一個解決方法的好主意。謝謝! – 2009-09-03 16:01:23