Запустить программы, путь которых содержит пробелы - PullRequest
23 голосов
/ 27 августа 2009

Мне нужно запускать программы в моей локальной системе, используя 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?

Ответы [ 8 ]

44 голосов
/ 27 августа 2009

Попробуйте: -

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

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

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

3 голосов
/ 22 июня 2014

Работает с

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

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

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

WSHELL.Run("iexplore")
3 голосов
/ 16 января 2014

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

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Exec("c:\Program Files\Mozilla Firefox\firefox.exe")
Set objShell = Nothing
2 голосов
/ 23 октября 2014
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 
1 голос
/ 06 марта 2014

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

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

1 голос
/ 06 марта 2014
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run("firefox")
Set objShell = Nothing

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

0 голосов
/ 30 июня 2015

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

start firefox.exe
0 голосов
/ 07 ноября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...