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 :

détecter une de toutes les commandes a renvoyé une erreur


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    embedded software engineer
    Inscrit en
    Juin 2002
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : embedded software engineer

    Informations forums :
    Inscription : Juin 2002
    Messages : 181
    Par défaut détecter une de toutes les commandes a renvoyé une erreur
    Bonjour,
    Mon fichier batch contient 20 lignes de commandes de copy ou autre.
    exemple:

    copy truc ici
    copy file1 file2
    copy file10 file3
    copy file32 file10
    ....

    En résumé à la fin je veux savoir si une des commandes à renvoyé une erreur.
    Est-ce possible?

    Je ne veux pas mettre la ligne suivante à chaque commande, ou une autre commande.
    if %errorlevel% geq 0 pause

  2. #2
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    salut,

    il y a plus simple:

    tu mets l'ensemble de tes copie dans un fichier puis tu le parse:

    cp.txt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    copy truc ici
    copy file1 file2
    copy file10 file3
    copy file32 file10
    cp.bat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @Echo off
    SET NBR_ERREUR=0
    for /f "delims=" %%i in (cp.txt) do (
       %%i 2>NUL >NUL
       IF ERRORLEVEL 1 SET /A NBR_ERREUR+=1
    )
    ECHO %NBR_ERREUR%
    pause

  3. #3
    Membre confirmé
    Profil pro
    embedded software engineer
    Inscrit en
    Juin 2002
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : embedded software engineer

    Informations forums :
    Inscription : Juin 2002
    Messages : 181
    Par défaut
    Merci,

    Pas parfait,mais c'est une bonne solution.

    cela oblige à avoir 2 fichiers et que cp.txt soit uniquement une liste de commandes.
    Si , j'ai des if,for... cela ne fonctionne pas.

    De manière générale, tous mes scripts affichent(echo) les commandes effectuées et font une pause si erreur puis exit.

    Mais, je le répète, c'est une bonne solution.

  4. #4
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Pas parfait,mais c'est une bonne solution.
    En scripting il n'y a pas de solution parfaite, mais ça répond ou pas à une demande donnée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cela oblige à avoir 2 fichiers et que cp.txt soit uniquement une liste de commandes.
    séparer les données du script ça te facilitera, par la suite, le control de ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Si , j'ai des if,for... cela ne fonctionne pas.
    
    De manière générale, tous mes scripts affichent(echo) les commandes effectuées et font une pause si erreur puis exit
    .

    si tu essayes de faire un debuggeur en batch alors il te faudra passer quelques contraintes:

    1- les commandes pipper
    2- les commandes composées
    3- les caractères réservés
    4- gérer les commandes qui ne retournent pas d'ERRORLEVEL
    5- gérer les erreurs fatales
    6- ..etc


    comme tu vois c'est lourd,il vaut mieux avoir un logiciel traitant tant cas: peux-être PowerBatch

  5. #5
    Membre confirmé
    Profil pro
    embedded software engineer
    Inscrit en
    Juin 2002
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : embedded software engineer

    Informations forums :
    Inscription : Juin 2002
    Messages : 181
    Par défaut
    Ok, d'accord, merci pour ta réponse

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/02/2014, 13h33
  2. [Javascript] Réactualisez une page toutes les X secondes...
    Par funktastique dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 20/01/2006, 15h52
  3. Réponses: 8
    Dernier message: 09/01/2006, 16h58
  4. Réponses: 9
    Dernier message: 14/12/2005, 21h05
  5. effacer une table toutes les nuits
    Par nako dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/06/2005, 21h48

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