Vbscript 启动路径包含空格的程序

Vbscript 启动路径包含空格的程序,vbscript,Vbscript,我需要使用VBScript在本地系统中启动程序。但是我在语法方面有问题。这就是我现在使用的- Dim objShell Set objShell = WScript.CreateObject( "WScript.Shell" ) objShell.Run("iexplore") Set objShell = Nothing 上面的代码成功启动IE。我想启动其他浏览器。但是,如果我使用- Dim objShell Set objShell = WScript.CreateObject( "WSc

我需要使用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命令

试试看:-

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("""c:\Program Files\Mozilla Firefox\firefox.exe""")
Set objShell = Nothing
请注意字符串中多余的“”。由于exe的路径包含空格,因此需要将其包含在引号中。(在本例中,只需使用“firefox.exe”即可)


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

复制该文件夹,firefox.exe位于c:\only文件夹中。脚本很难爬上您的文件树。我发现,当我将*.exe文件放在c:\中时,它消除了错误消息“未找到文件”。

您可以使用Exec

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

请尝试此操作

查找要运行的应用程序的.exe文件 示例iexplore.exe和firefox.exe以及remove.exe 并在objShell.Run(“firefox”)中使用它

我希望这能有所帮助。

它正在与

Set WSHELL = CreateObject("Wscript.Shell")
WSHELL.Exec("Application_Path")
但是如果我们只想输入应用程序名,那么参数应该是什么呢

e、 g如果是Internet Explorer

WSHELL.Run("iexplore")

你试图实现的目标很简单,而你实现目标的方式却不简单。试试这个(对我来说很好),然后从文本编辑器中批量保存文件。相信我,这样比较容易

start firefox.exe

嗨,谢谢!我被引号弄糊涂了:D但有一点需要注意的是,仅仅使用“firefox.exe”不起作用。你可以使用
objShell.Run(“%ProgramFiles%\Mozilla firefox\firefox.exe”)
来解决这个64位的问题。Firefox可能仍安装在%ProgramFiles(x86)%下。如果要将参数传递给exe,请不要将其包含在路径上的
中,请执行以下操作:
objShell.Run(““c:\Program Files\Mozilla Firefox\Firefox.exe”“&”-p1 someValue”)
将所有内容都放在FS根目录中不是一个非常有用的方法。这种解决方案需要一大堆其他问题。想象一下,您使用两个程序来实现这一点,两个程序都包含一个名为
common.dll
的文件。这个答案与上面的答案相同,只是有点错误,因为它没有在程序周围包含双引号am名称。这个答案与上面的答案几乎相同,只是它不需要多个引号,而且确实有效。虽然不允许Exec从C:\Users\user\Appdata\Local启动程序,但Run可以从C:\Users\user\Appdata\Local启动应用程序。(TeamSpeak 3安装在那里,至少对我来说是这样的)这不是我想要的。只是对齐混乱。页面上有类似的答案,有适当的缩进。
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 
start firefox.exe