Запустить программы, путь которых содержит пробелы
Мне нужно запускать программы в моей локальной системе, используя 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 ответов
Пытаться:-
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.
Вы используете Exec
Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Exec("c:\Program Files\Mozilla Firefox\firefox.exe")
Set objShell = Nothing
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
Это работает с
Set WSHELL = CreateObject("Wscript.Shell")
WSHELL.Exec("Application_Path")
Но каким должен быть параметр, если мы хотим ввести только имя приложения
например, в случае Internet Explorer
WSHELL.Run("iexplore")
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run("firefox")
Set objShell = Nothing
Пожалуйста, попробуйте это
Найдите файл.exe для приложения, которое вы хотите запустить, например, iexplore.exe и firefox.exe и удалите.exe и используйте его в objShell.Run("firefox")
Надеюсь, это поможет.
То, чего вы пытаетесь достичь, просто, а то, как вы это делаете, - нет. Попробуйте это (работает хорошо для меня) и сохраните файл как пакет из вашего текстового редактора. Поверь мне, это проще.
start firefox.exe
Скопируйте папку, Firefox.exe находится и поместите только в папку c:\. Скрипт испытывает трудности при лазании по дереву файлов. Я обнаружил, что когда я поместил файл *.exe в каталог c:\, он устранил сообщение об ошибке "файл не найден".