web-dev-qa-db-fra.com

Lancer des programmes dont le chemin contient des espaces

J'ai besoin de lancer des programmes dans mon système local à l'aide de VBScript. Mais j'ai du mal avec la syntaxe. C'est ce que j'utilise en ce moment -

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

Le code ci-dessus lance avec succès IE. Je veux lancer d'autres navigateurs. Mais si j'utilise -

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

il génère une erreur indiquant que le fichier ou le chemin d'accès est introuvable. Je ne sais pas comment le paramètre de la fonction Run () est pris - dois-je donner le chemin vers un EXE ou dois-je donner des commandes DOS?!

24
anonymous

Essayer:-

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

Notez les "" supplémentaires dans la chaîne. Comme le chemin vers l'exe contient des espaces, il doit être contenu entre guillemets. (Dans ce cas, utiliser simplement "firefox.exe" fonctionnerait).

Gardez également à l'esprit que de nombreux programmes existent dans le dossier c:\Program Files (x86) sur les versions 64 bits de Windows.

46
AnthonyWJones

Ça marche avec

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

Mais quel devrait être le paramètre dans le cas où nous voulons entrer le nom de l'application uniquement

par exemple en cas d'Internet Explorer

WSHELL.Run("iexplore")
3
MilanYadav

Vous pouvez utiliser Exec

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Exec("c:\Program Files\Mozilla Firefox\firefox.exe")
Set objShell = Nothing
3
nimday
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 
2
weird

recherchez un fichier .exe pour l'application que vous souhaitez exécuter, par exemple iexplore.exe et firefox.exe et supprimez .exe et utilisez-le dans objShell.Run ("firefox")

J'espère que ça aide.

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

Veuillez essayer ceci

1
Mushir Shaikh

Ce que vous essayez de réaliser est simple, et la façon dont vous vous y prenez ne l'est pas. Essayez ceci (fonctionne bien pour moi) et enregistrez le fichier en tant que lot à partir de votre éditeur de texte. Croyez-moi, c'est plus facile.

start firefox.exe
0
Anthony Smyth