Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Condition If else
Auteur Message
Répondre en citant
Message Condition If else 
Bonjour à tous, Wink

Je voudrais réaliser un batch qui récupère la valeur d'un fichier texte et qui sur base de la valeur trouvée effectue une opération si une condition est ok ou une autre opération si la condition n'est pas ok.
En clair voici mon bout de code
Code:
echo off
For /f %%i in (F:\Batch\Condition\test.txt) do set Lavariable=%%i

if Lavariable==A (
echo C'est bon
pause
) else (
echo C'est pas bon
)
pause
exit


mon sushi c'est que si la valeur du fichier est A ou autre chose , il me renvoi toujours "C'est pas bon"

Pouvez-vous me dire où j'ai gaffé ? syntaxe ??

Merci



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Re: Condition If else 
Salut Mr. Green


Avant de vouloir tester la valeur d'une variable, il faut comprendre le système de variable en batch qui est complètement différent de ce que l'on peut voir par rapport à d'habitude.
Car en réalité ici, tu testes si la chaîne de caractères "Lavariable" est égale à la chaîne de caractères "A"
Pour dire au batch que c'est une variable et non une chaîne de caractères, il faut l'entourer de ce symbole "%" (le pourcentage)

Soit :
Code:
set salut=OMGGG xDD

echo Chaîne de caractères : salut
echo Variable : %salut%


Je te conseil de te renseigner un petit coup sur google Okay
Déjà tu peux faire un tour ici : http://batch.xoo.it/t5183-Les-variables-dans-FOR.htm
Ceci pourrait t'intéresser : https://www.batcher.fr/variables.php


Donc, si l'on reprend ton code :
Code:
echo off
For /f %%i in (F:\Batch\Condition\test.txt) do set Lavariable=%%i
 
if "%Lavariable%"=="A" (
  echo C'est bon
) else (
  echo C'est pas bon
)
pause
exit





______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Répondre en citant
Message Condition If else 
Ok, Merci,

C'était donc un problème de syntaxe, il est vrai que je ne la maîtrise pas trop au niveau des batch.

Merci pour ton aide, je vais suivre tes liens

@+ Okay



Répondre en citant
Message Condition If else 
tu peut faire tenir ta condition sur une ligne.

Code:
 
echo off
For /f %%i in (F:\Batch\Condition\test.txt) do set Lavariable=%%i
 
if "%Lavariable%"=="A" (echo C'est bon) else (echo C'est pas bon)
pause
exit




Répondre en citant
Message Condition If else 
Pour en rajouter, tu peux plus facilement récupérer ta valeur de cette façon :
Code:
set /p Lavariable=<"F:\Batch\Condition\test.txt"

C'est plus joli et plus rapide, mais si tu veux manipuler un fichier après c'est mieux de laisser la boucle for Very Happy




______________________________________________________

Répondre en citant
Message Condition If else 
Pour en rajouter un peu plus :


Code:
set /p Lavariable=<"F:\Batch\Condition\test.txt" && echo OK || echo KO


Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Message Condition If else 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch