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

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    août 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : août 2006
    Messages : 191
    Points : 99
    Points
    99

    Par défaut 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
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    juillet 2009
    Messages
    2 268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2009
    Messages : 2 268
    Points : 5 377
    Points
    5 377

    Par défaut

    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

    Profil pro
    Inscrit en
    août 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : août 2006
    Messages : 191
    Points : 99
    Points
    99

    Par défaut

    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
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    juillet 2009
    Messages
    2 268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2009
    Messages : 2 268
    Points : 5 377
    Points
    5 377

    Par défaut

    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

    Profil pro
    Inscrit en
    août 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : août 2006
    Messages : 191
    Points : 99
    Points
    99

    Par défaut

    Merci beaucoup
    Quand je pense au temps perdu juste parce que je ne mettais pas /c

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Système] lancer un script bash à partir de php
    Par ayago dans le forum Fonctions
    Réponses: 1
    Dernier message: 27/05/2008, 08h15
  2. comment intégrer ou lancer un script shell à partir gtk
    Par kris1 dans le forum GTK+ avec C & C++
    Réponses: 4
    Dernier message: 16/11/2007, 14h44
  3. Réponses: 1
    Dernier message: 05/10/2007, 23h15
  4. Réponses: 4
    Dernier message: 28/02/2007, 15h24
  5. Peut-on lancer un script bash à partir de la plateforme ?
    Par jcodeunpeu dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 21/08/2006, 18h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo