2013-07-04 54 views
3

創建一個批處理文件與:.bat文件打開與參數的網頁到本地文件

start http://www.google.com/search?q=test 

是否正是我想要它做的,它會打開我的默認網頁瀏覽器(Chrome在我的情況)和瀏覽到URL http://www.google.com/search?q=test

然而,在一個bat文件:

start file:///C:/Users/d92495j/Desktop/OracleCDs/WebLogic/template.html?wbt=1 

只有打開我的默認瀏覽器並瀏覽到文件:/// C:/Users/d92495j/Desktop/OracleCDs/WebLogic/template.html

注意缺少?wbt = 1。爲了解決這個問題我已經試過:

  1. URL編碼問號
  2. 運行啓動命令參數「窗口名稱」「加引號的文件路徑」
  3. 把文件路徑 變量,通過變量啓動

但是沒有一項工作。我怎樣才能使這個工作?

回答

3

最好的解決辦法,我拿出這麼遠是:

powershell -noprofile -command "[void][System.Diagnostics.Process]::Start('chrome', 'file:///C:/Users/d92495j/Desktop/OracleCDs/WebLogic/template.html?wbt=1')" 

該解決方案具有批處理文件啓動PowerShell,然後使用.NET System.Diagnostics.Process.Start方法使用正確的參數啓動Chrome。唯一的缺點是,它爲我提供了一個瀏覽器選擇,我更喜歡它使用我的默認瀏覽器,但我可以忍受。我會接受另一個使用默認瀏覽器的答案(這並不複雜)。

2

我測試了這個,得到了同樣的結果。我不太確定,但我想這屬於問號。 Windows的本地文件系統永遠不會有?的文件名,因爲這是一個「通配符」,如*。我認爲文件名可能會被截斷。

下面的代碼也不起作用或只產生錯誤信息:

start "file:///C:/Users/d92495j/Desktop/OracleCDs/WebLogic/template.html?wbt=1" 
start file:///"C:/Users/d92495j/Desktop/OracleCDs/WebLogic/template.html?wbt=1" 
+0

好點?是一個非法的文件名字符 –