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 :

IF/ELSE imbriqués qui ne marchent pas


Sujet :

Scripts/Batch

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 90
    Points : 71
    Points
    71
    Par défaut IF/ELSE imbriqués qui ne marchent pas
    Bonjour a tous,
    je m'essaie aujourdhui pour la premiere fois a la programmation d'un batch DOS

    j'ai besoins de faire des IF/ELSE imbriqués, mais j'y arrive pas. J'ai vu qu'il fallait avoir une certaine indentation mais a chaque fois je me retrouve avec un "else inattendu"


    je vous donne en clair l'algo :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    FOR /f %%i IN (%rep%\catalogue.txt) DO (if %%i EQU FIN_SQL (
    if %%i EQU FIN_SQL ( goto PORTAIL) 
    if %%i EQU DDL
    ( 
    	sqlcmd -U %sql_user% -P %sql_pwd% -S %sql_server% -b -d %sql_db% -i %rep%\02_database\ddl\montee_version.sql
    		if !errorlevel! NEQ 0 
    			( 
    				echo %%i OK >> installation.log
    			) 
    		else
    			( 
    			echo %%i KO >> installation.log
    			goto ENDOFBATCH
    			) 
    ) 
    
    else 
    ( 
    		if %%i EQU DML 
    			( 
    				sqlcmd -U %sql_user% -P %sql_pwd% -S %sql_server% -b -d %sql_db% -i %rep%\02_database\dml\montee_version.sql
    				if !errorlevel! NEQ 0 
    				( 
    					echo %%i OK >> installation.log
    				) 
    				else 
    				( 
    					echo %%i KO >> installation.log
    					goto ENDOFBATCH
    				) 
    			) 
    			else 
    			(
    				sqlcmd -U %sql_user% -P %sql_pwd% -S %sql_server% -b -d %sql_db% -i %rep%\%%i
    				if !errorlevel! NEQ 0 
    				( 
    					echo %%i OK >> installation.log 
    				) 
    				else
    				( 
    					echo %%i KO >> installation.log
    					goto ENDOFBATCH
    				) 
    			)
    			
    			
    )
    
    )

    j'ai essayé de l'indenter comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if %%i EQU FIN_SQL ( goto PORTAIL) 
    if %%i EQU DDL( sqlcmd -U %sql_user% -P %sql_pwd% -S %sql_server% -b -d %sql_db% -i %rep%\02_database\ddl\montee_version.sql
    if !errorlevel! NEQ 0(echo %%i OK >> installation.log) else ( echo %%i KO >> installation.log
    goto ENDOFBATCH)) else( if %%i EQU DML(sqlcmd -U %sql_user% -P %sql_pwd% -S %sql_server% -b -d %sql_db% -i %rep%\02_database\dml\montee_version.sql
    if !errorlevel! NEQ 0 (	echo %%i OK >> installation.log) else ( echo %%i KO >> installation.log
    goto ENDOFBATCH )) else (sqlcmd -U %sql_user% -P %sql_pwd% -S %sql_server% -b -d %sql_db% -i %rep%\%%i
    if !errorlevel! NEQ 0 ( echo %%i OK >> installation.log) else ( echo %%i KO >> installation.log
    goto ENDOFBATCH)))

    Mais non ca marche pas !!

    aidez moi please !!!!

  2. #2
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Salut,

    un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    set t=1
    if "%t%"=="0" ( 
    echo yes 
    ) else (
    echo no
    )
    Je te laisse en déduire la règle.

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 90
    Points : 71
    Points
    71
    Par défaut
    Merci, mais j'au du faire autrement a cause d'un imperatif de temps. En tout cas, quand j'en aurai la possiblité je me repencherai dessus.

    je te remercie

Discussions similaires

  1. [AJAX] listes liés qui ne marchent pas sous Mozilla
    Par guigui5931 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/02/2009, 15h54
  2. Ancres qui ne marchent pas sur mac.
    Par ashinam dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 14/11/2007, 14h44
  3. [XSLT] Boucles imbriquées qui ne marchent pas :s
    Par Fatjo dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/10/2007, 10h35
  4. Listes imbriquées qui ne marchent pas
    Par Faboul dans le forum Access
    Réponses: 16
    Dernier message: 26/01/2007, 10h45
  5. Réponses: 4
    Dernier message: 01/10/2005, 13h52

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