2013-07-04 53 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

好点?是一个非法的文件名字符 –