Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Lancer un script .bat à partir d'un vbs


Sujet :

VBScript

  1. #1
    Membre régulier
    Lancer un script .bat à partir d'un vbs
    Bonjour,

    Je sais que ce sujet à déjà été traité, et jusqu'à maintenant j'y arrivais sans problèmes en faisant ceci :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    CreateObject("WScript.Shell").Run "synchroniser.bat", 1, True

    Seulement dans mon entreprise, sur certains nouveaux PC et pour une raison obscure, le fichier cmd.exe a disparu de windows. En mettant manuellement un fichier cmd.exe dans le répertoire de mon .vbs et de mon .bat, lorsque je lance cmd.exe et que j'écris dans la fenêtre synchroniser.bat, le .bat fonctionne. Seulement, je n'arrive pas à le lancer à partir de mon script vbs, en passant en argument synchroniser.bat. Le cmd.exe s'ouvre bien mais rien de ne passe.

    Je précise que je n'ai pas de droit admin et par simplicité et gain de temps je ne souhaite pas réécrire le .bat en vbs. D'ailleur, j'ai essayé des convertisseurs .bat en .exe mais cela ne marchait pas non plus.

    Quelqu'un à une idée?

  2. #2
    Modérateur

    Soit tu modifies la variable d'environnement PATH en y ajoutant le chemin vers le fichier Cmd.exe soit tu mets le Cmd.exe en dur dans le fichier vbs CreateObject("WScript.Shell").Run ".\Cmd.exe .\synchroniser.bat", 1, True.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  3. #3
    Membre régulier
    Je ne peux pas modifier la variable d'environnement car je ne connais pas tous les PC utilisés.
    Concernant la 2ème méthode, quand tu dis mettre Cmd.exe en dur dans le fichier vbs, je suppose que tu veux dire dans le même dossier?
    Je viens d'essayer cela en mettant la ligne de code, l'invite des commande s'ouvre mais sans rien faire...

  4. #4
    Modérateur

    Les fichiers bat et vbs étant dans le même dossier, essaie avec
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    CreateObject("Wscript.Shell").Run ".\Cmd.exe /C .\Synchroniser.bat", 1, True
    'ou bien 
    CreateObject("Wscript.Shell").Run ".\Cmd.exe /K .\Synchroniser.bat", 1, True
    C'est testé, et la barre de titres de la fenêtre DOS devrait indiquer le chemin complet de Cmd.exe
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  5. #5
    Membre régulier
    Merci beaucoup
    Quand je pense au temps perdu juste parce que je ne mettais pas /c

###raw>template_hook.ano_emploi###