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 :

condition dans un batch


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 153
    Par défaut condition dans un batch
    Bonjour,

    J'ai un probleme avec mon .bat, qui fonctionne tres bien sans condition mais lorsqu'il s'agit d'une condition a ajouter arf ca va plus.
    En fait je fais un mysqldump jusque la tout va mais je veux tester si il n'y pas eu de probleme dans la sauvegarde avant d'effacer les sauvegardes précédentes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    set myvar=%date:~0,2%-%date:~3,2%-%date:~6,4%
    mysqldump --opt -h localhost -u root -pmysql test>Sauvegarde\backupBDD(%myvar%).sql
    
    if (mysqldump --opt -h localhost -u root -pmysql test>Sauvegarde\backupBDD(%myvar%)tempo.sql ==0)
    
    del /q Sauvegarde\backupBDD*.sql
    pause
    
    else echo arf
    pause
    merci de votre aide

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    L'égalité à zéro, ça signifie quoi pour toi ? Un code de retour ? Si oui, il faut passer par ERRORLEVEL (cf. aide "if", tapes "if /?" en ligne de commande) pour la tester.

    De plus, tu fais deux fois le "mysqldump", d'une part, et en plus tu effaces juste après le fichier créé... C'est ce qu'on te disait sur l'autre post en te disant de te méfier des jokers avec del, là tu vas effacer un précédent fichier tout comme ton fichier temporaire.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 153
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    set myvar=%date:~0,2%-%date:~3,2%-%date:~6,4%
    mysqldump --opt -h localhost -u root -pmysql test>Sauvegarde\backupBDD(%myvar%).sql
    
    If NOT ERRORLEVEL 
    
    del /q Sauvegarde\backupBDD*.sql
    
    
    else  echo arf
    voila avec le errolevel, ba enfait si le dump s'est bien passé le fichier est supprimé et remplacé par le nouveau sinon on garde l'ancien.

    euh de toute facon je n'ai qu'un fichier.sql dans mon dossier donc je ne risque pas d'en supprimer d'autre si?

    n'empeche que mon .bat marche mais avec la condition et quand c'est faux ca ne marche pas il me le remplace par un fichier avec rien dedans.

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    C'est mieux de LIRE l'aide, tu sais ? Y'a des exemples d'utilisation de ERRORLEVEL, là ton code ne veut rien dire...

    De plus, il faut être certain que ton outil retourne bel et bien un code d'erreur utilisable !!
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 153
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @SET REUSSI=Sauvegarde reussie 
    @SET ECHEC=Sauvegarde echouee 
    @set DATE_today=%DATE:~0,2%-%DATE:~3,2%-%DATE:~8,2%
    @SET TIME_today=%TIME:~0,2%H%time:~3,2% 
    @set myvar=%date:~0,2%-%date:~3,2%-%date:~6,4%
    
    @mysqldump --opt -h localhost -u root -pmysql test>Sauvegarde\backupBDD(%myvar%).sql
    
    @if %ERRORLEVEL% EQU 0 echo %REUSSI% le %DATE_today% a %TIME_today% >Sauvegarde\log.txt
    @del /q Sauvegarde\backupBDD*.sql
    
    @if %ERRORLEVEL% GEQ 1 echo %ECHEC% le %DATE_today% a %TIME_today% >Sauvegarde\log.txt
    ce code fonctionne quand ca marche j'ai bien le log quand la sauv est marquée et l'ancien backup est effacée.
    Par contre le mysqldump ne marche pas donc je n'ai plus le nouveau backup et pas de message d'erreur.
    En clair tout ne marche pas.
    Et je me renseigne partout et j'ai vraiment besoin d'aide

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 153
    Par défaut
    bon j'ai farfouillé partout, je suis rendu la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    SET REUSSI=Sauvegarde reussie 
    SET ECHEC=Sauvegarde echouee 
    set DATE_today=%DATE:~0,2%-%DATE:~3,2%-%DATE:~8,2%
    SET TIME_today=%TIME:~0,2%H%time:~3,2% 
    set myvar=%date:~0,2%-%date:~3,2%-%date:~6,4%
    
    move Sauvegarde\backupBDD*.sql Sauvegarde\ancien\
    
    pause
    
    mysqldump --opt -h localhost -u root -pmysql est>Sauvegarde\backupBDD(%myvar%).sql
    
    pause
    
    if %ERRORLEVEL% EQU 0 echo %REUSSI% le %DATE_today% a %TIME_today% >Sauvegarde\log.txt
    del Sauvegarde\ancien\backupBDD*.sql
    
    if %ERRORLEVEL% GEQ 1 echo %ECHEC% le %DATE_today% a %TIME_today% >Sauvegarde\log.txt  
    move Sauvegarde\ancien\backupBDD*.sql Sauvegarde\
    
    
    pause
    le 1ere errorlevel est egal a 0 si tout va mais si il y a une erreur il met un autre chiffre, par contre mon deuxieme errorlevel m'indique toujours 0 donc dur de faire quelque chose.
    Et j'ai l'impression que mes conditions ne servent a rien puisque j'ai l'impression qu'il execute tout a la suite


    help

Discussions similaires

  1. Ajouter une condition pour la commande net use dans un batch
    Par killahpriest dans le forum Administration
    Réponses: 0
    Dernier message: 23/10/2014, 16h05
  2. Condition dans script batch
    Par ZorroDu33 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 27/01/2011, 14h27
  3. recuperer date dans un batch et la placer en variable
    Par Phenomenium dans le forum Windows
    Réponses: 6
    Dernier message: 07/06/2004, 10h44
  4. probleme d' echo dans un batch
    Par zorian dans le forum Windows
    Réponses: 16
    Dernier message: 18/05/2004, 17h21
  5. Réponses: 5
    Dernier message: 01/10/2003, 15h03

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