Souhaitez utiliser VBScript pour s'exécuter .bat fichier dans un dossier différent
Je suis en train de lancer une .fichier bat à l'aide de VBScript. Je peux obtenir le code VBScript au travail, lorsqu'ils sont exécutés dans le même dossier que le .chauve-souris, cependant, je ne peux pas comprendre comment le faire correctement fonctionner en dehors du dossier.
Dim shell
Set shell = CreateObject("WScript.Shell")
shell.Run "C:\Users\js\Desktop\createIndex\createindex.bat"
Essayez de shell.exécuter "C:\\Users\\js\\Desktop\\createIndex\\createindex.bat"
Je viens de faire un essai et lorsque j'ai exécuté le script, rien ne s'est passé. Quand j'ai déménagé le nouveau script dans le dossier avec les modifications que vous avez suggéré, il courut à la .chauve-souris comme prévu. Donc, malheureusement, ce n'est pas une solution.
Essayez ceci pour l'instant, cela peut vous donner un message d'erreur.
Étrange, ce qu'il faudrait travailler. Ou au moins, je suis gérant d'appeler une .fichier bat via un .vbs fichier dans un répertoire séparé. J' notez que le fichier de commandes fermé très rapidement avant que j'ai ajouté un
Peut-être l' .Chauve-souris elle-même, nécessite chemin d'accès complet(s). Cela peut être inutile, sans voir le .Chauve-souris de script. Que pouvez-vous faire dans une .BAT ou .CMD que vous ne pouvez pas le faire dans un .VBS?
Je viens de faire un essai et lorsque j'ai exécuté le script, rien ne s'est passé. Quand j'ai déménagé le nouveau script dans le dossier avec les modifications que vous avez suggéré, il courut à la .chauve-souris comme prévu. Donc, malheureusement, ce n'est pas une solution.
Essayez ceci pour l'instant, cela peut vous donner un message d'erreur.
shell.run "cmd /k C:\Users\js\Desktop\createIndex\createindex.bat"
. Je suppose que votre chemin d'accès est correct et n'a pas d'espaces.Étrange, ce qu'il faudrait travailler. Ou au moins, je suis gérant d'appeler une .fichier bat via un .vbs fichier dans un répertoire séparé. J' notez que le fichier de commandes fermé très rapidement avant que j'ai ajouté un
pause
, mais il reste techniquement travaillé.Peut-être l' .Chauve-souris elle-même, nécessite chemin d'accès complet(s). Cela peut être inutile, sans voir le .Chauve-souris de script. Que pouvez-vous faire dans une .BAT ou .CMD que vous ne pouvez pas le faire dans un .VBS?
OriginalL'auteur jodies | 2016-01-15
Vous devez vous connecter pour publier un commentaire.
Aller sur une branche je suppose que le script de commandes nécessite son propre dossier parent pour être le répertoire de travail. Vous pouvez définir le répertoire de travail en conséquence par la modification de votre code:
Si le ci-dessus ne vous aide pas besoin de fournir plus d'informations sur ce devrait arriver et de ce fait ne arriver. L'exécution de la commande ou un script en mode visible et sans la fermeture automatique du CMD aide généralement de débogage:
OriginalL'auteur Ansgar Wiechers
J'ai 4 scripts simples pour ce genre d'appels.
appel.vbs
call_nowait.vbs
call_nowindow.vbs
call_nowindow_nowait.vbs
Tous les 4 a ces lignes de code dans le début:
Plus que la dernière ligne est différent dans tous les 4 scripts:
appel.vbs
call_nowait.vbs
call_nowindow.vbs
call_nowindow_nowait.vbs
Par exemple, l'ensemble de la ligne de commande pour le call_nowindow.vbs script ressemble à ceci:
Par la manière, vous pouvez exécuter quoi que ce soit par ces scripts, non seulement des fichiers batch.
Celui-ci va créer une instance de notepad.exe avec fenêtre:
Celui-ci va créer console cmd avec la date et l'heure actuelles, et de laisser la fenêtre ouverte:
OriginalL'auteur Andry
Utiliser ce script pour définir le répertoire dans le répertoire de travail actuel de votre script. De cette façon, chaque fois que le script modifie les répertoires, il va chercher les il y à la place de dur, il l'enracinement dans un répertoire spécifique.
Cela rendra tous les fichiers qu'il est à la recherche dans ce répertoire disponible pour le script.
Exemple : Si le fichier est sur les utilisateurs actuels de bureau.
C:\Users\[nom d'utilisateur]\desktop\monfichier.vbs
Deviendra:
scriptdir\monfichier.vbs
et si vous avez déplacé dans un sous-dossier "sous-dossier de" il serait rester
scriptdir\monfichier.vbs
même si l'emplacement du script est différent. Le "scriptdir" est un espace réservé pour le dossier de l'actif script est en cours d'exécution.
OriginalL'auteur Michael Mulvey