启动路径包含空格的程序

24 vbscript

我需要使用VBScript在本地系统中启动程序.但我的语法有问题.这就是我现在正在使用的 -

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("iexplore")
Set objShell = Nothing
Run Code Online (Sandbox Code Playgroud)

上面的代码成功启动了IE.我想推出其他浏览器.但是,如果我使用 -

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("c:\Program Files\Mozilla Firefox\firefox.exe")
Set objShell = Nothing
Run Code Online (Sandbox Code Playgroud)

它抛出一个错误,说找不到文件或路径.我不确定如何使用Run()函数中的参数 - 我应该给EXE的路径还是应该给出一些DOS命令?!

Ant*_*nes 48

尝试:-

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("""c:\Program Files\Mozilla Firefox\firefox.exe""")
Set objShell = Nothing
Run Code Online (Sandbox Code Playgroud)

注意字符串中的额外"".由于exe的路径包含空格,因此需要用引号括起来.(在这种情况下,简单地使用"firefox.exe"就行了).

还要记住,64位版本的Windows上的c:\ Program Files(x86)文件夹中存在许多程序.

  • 你可以使用`objShell.Run(""%ProgramFiles%\ Mozilla Firefox\firefox.exe""")来解决64位问题 (4认同)
  • 不是杰克.Firefox可能仍然安装在%ProgramFiles(x86)%下. (2认同)
  • 如果您想将参数传递给 exe,请不要将它们包含在路径上的“”””中,请执行以下操作:`objShell.Run("""c:\Program Files\Mozilla Firefox\firefox. exe""" & "-p1 someValue")` (2认同)