anonymous
anonymous

Reputation:

Launch programs whose path contains spaces

I need to launch programs in my local system using VBScript. But I am having trouble with the syntax. This is what I am using right now -

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("iexplore")
Set objShell = Nothing

The above code successfully launches IE. I want to launch other browsers. But, if I use -

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

it is throwing an error saying that the file or path was not found. I am not sure how the parameter inside the Run() function is taken - should I give the path to an EXE or should I give some DOS commands?!

Upvotes: 31

Views: 255751

Answers (7)

Milan Kumar
Milan Kumar

Reputation: 439

It's working with

Set WSHELL = CreateObject("Wscript.Shell")
WSHELL.Exec("Application_Path")

But what should be the parameter in case we want to enter the application name only

e.g in case of Internet Explorer

WSHELL.Run("iexplore")

Upvotes: 2

weird
weird

Reputation: 31

set shell=CreateObject("Shell.Application")
' shell.ShellExecute "application", "arguments", "path", "verb", window
shell.ShellExecute  "slipery.bat",,"C:\Users\anthony\Desktop\dvx", "runas", 1
set shell=nothing 

Upvotes: 3

Mushir Shaikh
Mushir Shaikh

Reputation: 21

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run("firefox")
Set objShell = Nothing

Please try this

Upvotes: 1

Mushir Shaikh
Mushir Shaikh

Reputation: 21

find an .exe file for the application you want to run example iexplore.exe and firefox.exe and remove .exe and use it in objShell.Run("firefox")

I hope this helps.

Upvotes: 1

nimday
nimday

Reputation: 343

You van use Exec

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Exec("c:\Program Files\Mozilla Firefox\firefox.exe")
Set objShell = Nothing

Upvotes: 3

Shangz
Shangz

Reputation: 11

Copy the folder, firefox.exe is in and place in the c:\ only. The script is having a hard time climbing your file tree. I found that when I placed the *.exe file in the c:\ it eliminated the error message " file not found."

Upvotes: -10

AnthonyWJones
AnthonyWJones

Reputation: 189505

Try:-

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

Note the extra ""s in the string. Since the path to the exe contains spaces it needs to be contained with in quotes. (In this case simply using "firefox.exe" would work).

Also bear in mind that many programs exist in the c:\Program Files (x86) folder on 64 bit versions of Windows.

Upvotes: 61

Related Questions