Запускать программы, путь которых содержит пробелы

Мне нужно запустить программы в локальной системе, используя VBScript. Но у меня возникают проблемы с синтаксисом. Это то, что я использую прямо сейчас -

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

Приведенный выше код успешно запускает IE. Я хочу запустить другие браузеры. Но, если я использую -

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

он выдает ошибку, говоря, что файл или путь не найден. Я не уверен, как выполняется параметр внутри функции Run() - должен ли я указывать путь к EXE или должен ли я давать некоторые команды DOS?!

Ответ 1

Try: -

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

Обратите внимание на дополнительные "s в строке. Поскольку путь к exe содержит пробелы, он должен содержаться в кавычках. (В этом случае просто использование" firefox.exe" будет работать).

Также помните, что многие программы существуют в папке c:\Program Files (x86) в 64-разрядных версиях Windows.

Ответ 2

Работает с

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

Но какой должен быть параметр в случае, если мы хотим ввести только имя приложения

например, в случае Internet Explorer

WSHELL.Run("iexplore")

Ответ 3

Вы используете exec

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

Ответ 4

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

Пожалуйста, попробуйте

Ответ 5

найдите файл .exe для приложения, которое вы хотите запустить. example iexplore.exe и firefox.exe и удалить .exe и использовать его в objShell.Run( "firefox" )

Надеюсь, это поможет.

Ответ 6

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 

Ответ 7

То, что вы пытаетесь достичь, прост, и то, как вы это делаете, - нет. Попробуйте (отлично работает для меня) и сохраните файл как пакет из текстового редактора. Поверьте мне, это проще.

start firefox.exe

Ответ 8

Скопируйте папку, firefox.exe входит и помещается в c:\only. script испытывает затруднения при сканировании вашего дерева файлов. Я обнаружил, что когда я поместил файл *.exe в c: \, он исключил сообщение об ошибке "файл не найден".