Variables dans un batch

Fermé
Utilisateur anonyme - 8 oct. 2009 à 11:51
 Utilisateur anonyme - 8 oct. 2009 à 21:59
Bonjour,

J'ai un problème assez étrange dans un batch. Je n'arrive pas à assigner une variable une seconde fois en fonction d'une autre variable... Je vous met le code pour que vous compreniez mieux :

echo off
cls

rem Initialisation de la variable de retour
SET CDResult=-

rem Chemin existant
cd C:\
rem Chemin inexistant
rem cd fdnguidf

set CD_STATUS=%ERRORLEVEL% 

if CD_STATUS== 0 (SET CDResult = Echec)
if CD_STATUS== 1 (SET CDResult = Succes)

echo %CD_STATUS%
echo %CDResult%

pause


Avez vous une idée de pourquoi ca ne fonctionne pas???

Merci d'avance!

David.

4 réponses

dubcek Messages postés 18778 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 avril 2025 5 630
8 oct. 2009 à 12:10
hello
essaye sans les ()
if CD_STATUS== 0 SET CDResult = Echec
if CD_STATUS== 1 SET CDResult = Succes
ou puisque c'est une variable numérique essaye avec EQU plutot que ==
0
Utilisateur anonyme
8 oct. 2009 à 12:57
salut,

merci de ta réponse mais ca ne fonctionne pas...

Je vais compléter le post en fait:
- le if fonctionne bien parce que si je remplace CDResult = Echec par echo Echec il m'affiche bien "Echec".
- j'ai testé avec et sans parenthèses
- j'ai testé en mettant %CDResult% = Echec

Je ne comprends rien à cette erreur...
0
dubcek Messages postés 18778 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 avril 2025 5 630
8 oct. 2009 à 14:00
set n'aime pas les espaces et il faut inverser, 0 = succès

if %CD_STATUS% EQU 0 SET CDResult=Succes
if %CD_STATUS% EQU 1 SET CDResult=Echec
0
Utilisateur anonyme
8 oct. 2009 à 21:59
oui merci dubcek je viens de trouver... La honte sur moi j'ai passé un peu plus de 2h la dessus...

Pour le 0 oui j'ai remarqué mais ce n'est pas pour des commandes comme ca en fait que j'en ai besoin c'est pour msbuild, mstest et tf si tu connais.
(compilations, tests et obtention des sources c# avec team foundation server).

Encore merci de ton aide!
0