2010-06-07 5 views
1

J'essaie d'exécuter le go.bat de VB, mais quand je lance le script je reçois:: Je ne trouve pas fichier spécifiquescript VB voulez exécuter le fichier .bat à partir de VB

mais de la cmd fenêtre le fichier go.bat existe. quel est le problème?

Dim MyShell 

Dim shell_cmd 

    shell_cmd = "C:\Program Files\dir1\dir2\wizard\go.bat" 

    set MyShell = CreateObject("WScript.Shell") 

    MyShell.Run shell_cmd, 1, 1 

de fenêtre cmd

C:\Program Files\dir1\dir2\wizard>go.bat 
+0

double possible de [programmes de lancement dont le chemin contient des espaces] (http://stackoverflow.com/questions/1340355/launch-programs-whose-path-contains-spaces) –

Répondre

3

chemin complet de votre fichier de commandes contient des espaces, vous devez donc l'enfermer dans des guillemets, comme celui-ci :

shell_cmd = """C:\Program Files\dir1\dir2\wizard\go.bat""" 

ou

shell_cmd = Chr(34) & "C:\Program Files\dir1\dir2\wizard\go.bat" & Chr(34) 
+0

salut THX allouer son travail génial THX nouveau – yael

0

ne sais pas si tu savais mais vb vous pouvez utiliser la fonction Shell:

http://msdn.microsoft.com/en-us/library/xe736fyk(VS.71).aspx

(semble plus facile que ce que vous » re utilisant)

Je ne sais pas pourquoi vous obtenez ce message, mais les deux chemins que vous mentionnez sont en fait différents:

C:\Program Files\dir1\dir2\wizard\go.bat 
C:\Program Files\dir1\dir2\wizard>go.bat 
           ^
+1

La deuxième chose venait d'une fenêtre d'invite de commande, apparemment, selon la question, donc le répertoire de travail était 'C: \ Program Files \ dir1 \ dir2 \ wizard' et ils exécutaient' go.bat' à partir de là. – icktoofay

+1

non ils sont les mêmes C: \ Program Files \ dir1 \ dir2 \ wizard> go.bat go.bat est sous le répertoire de l'assistant – yael

Questions connexes