IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Scripts/Batch Discussion :

Lancer un batch depuis un script powershell puis continuer l'éxecution du PS [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut Lancer un batch depuis un script powershell puis continuer l'éxecution du PS
    Bonjour.
    Je souhaite savoir comment lancer un batch depuis un script powershell puis continuer l’exécution du powershell.
    Ces 3 commande ne donnent rien :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	Start-Process C:\...\script.bat
    	Start-Process "cmd.exe"  "/c C:\...\script.bat"
    	Start-Process -filepath C:\...\script.bat

    Le batch n'est pas lancé et mon fichier de log powershell n'est pas créé alors qu'il y a des instruction avant.
    Pas de rouge dans la fenêtre dos non plus.

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    quel chemin cibles-tu à partir de ta syntaxe ?

    La syntaxe ne semble pas reconnu par PS:
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $PathHelper=$ExecutionContext.SessionState.Path
    $PathHelper.GetResolvedPSPathFromPSPath('C:\...\script.bat')
    Exception calling "GetResolvedPSPathFromPSPath" with "1" argument(s): "Cannot find path 'C:\...\script.bat' because it
    does not exist."
    test-path 'C:\...\script.bat'
    ii 'C:\...\script.bat'
    Avec cmd.exe cela fonctionne, avec le c:\script.bat existant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c:\Temp\test>C:\...\script.bat
    Selon ce lien ('cmd relative path triple dot') la syntaxe semble exister sous NT, à confirmer sous dotnet...

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Bonjour.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Start-Process "cmd.exe"  "/c C:\...\script.bat"
    ne fonctionne pas.
    Je vois du rouge qui s'affiche dans la console mais aprés le log n'est pas généré et la fenêtre dos se referme trop vite.
    Comment récupérer les infos ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Si je fais ça :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	cd \repertoire
    	./Script.bat
    La console s'ouvre bien sous :
    mais j'ai l'erreur
    is not recognized as the name of
    a cmdlet, function, script file, or operable program. Check the spelling of the
    name, or if a path was included, verify that the path is correct and try again
    + CategoryInfo : ObjectNotFound: (./Script.bat.
    bat:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd /c C:\...\script.bat
    fonctionne, j'avais laissé un espace devant pour indenter.
    Tous le problème vient de là.

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    J'ai parlé trop vite.
    Je n'ai plus d'erreur mais le bat ne se lance pas.

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Bonjour.

    J'ai bien vu ton post

    Mais là, je ne sais pas faire.

    J'essayais vaienement d'utiliser un IInvoke-Command sans grand succès...

  8. #8
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par 69Pierre Voir le message
    Mais là, je ne sais pas faire.
    Dans ce cas on étudie le problème de plus près, donne nous l'arborescence de départ, tu indiques le point de départ (la position d'où tu veux exécuter ton script) et le point d'arrivée (là où se trouve ton script).

  9. #9
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Bonjour.
    J'essayais de faire un point de vue théorique car j'ai vu que mes chemin etaient bien reconnus.

    J'ai scriptPS.ps1 qui est lancé depuis un répertoire /.../repertoirePowershell.
    Je souhaite que ce script lance un batch scriptBatch.bat qui se trouve dans un repertoire /.../repertoireBatch
    Une fois ce script exécuté, je souhaite continuer et finir l’exécution du powershell.

    Comment devrait s'écrire le script powershell et quoi loguer ?

  10. #10
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Avec tes explications je ne peux pas recréer l’arborescence que tu rencontres.

  11. #11
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Bonjour.

    Pour toi, il s'agit d'un pb d'arborescence ?

  12. #12
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Merci.

    C'était bien un problème de nom.
    Sur l'appli sur laquelle je travaille, il ont fait launchResultat.bat qui génère un fichier de log launchResultats.log...
    pfou!!!

    Du coup, je m'excuse pour le dérangement, j'ai lancé mon batch depuis powershell comme ça ;


    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cd $repBatch
    Start-Process $ficBatch

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

Discussions similaires

  1. lancer un .bat depuis un script python
    Par manu.c dans le forum Général Python
    Réponses: 9
    Dernier message: 02/05/2006, 14h41
  2. lancer un batch depuis un prog c++
    Par nac dans le forum Windows
    Réponses: 2
    Dernier message: 24/03/2006, 00h40
  3. lancer un batch depuis un prog c++
    Par nac dans le forum C++
    Réponses: 2
    Dernier message: 23/03/2006, 22h57
  4. Réponses: 10
    Dernier message: 25/01/2005, 13h06
  5. [web] lancer page HTML depuis un script perl
    Par lilou0210 dans le forum Web
    Réponses: 7
    Dernier message: 05/11/2004, 16h04

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