Batch : comparer deux variables
Résolu
Vince
-
brucine Messages postés 22974 Statut Membre -
brucine Messages postés 22974 Statut Membre -
Bonjour,
Je débute en batch et pour me faire la main, j'ai écrit ça :
@echo off
SET /A cpt = 0
SET /A nb_a_supp=2
setlocal enableextensions enabledelayedexpansion
for %%i in (1,2,3,4,5) do (
SET /A cpt+=1
IF %cpt% LEQ %nb_a_supp% echo cpt egale a !cpt! et inferieur a !nb_a_supp!
)
pause
L'idée est de vérifier si j'ai bien compris les comparaisons mais à priori non :(
Normalement, le script ne devrait m'afficher que
cpt egale a 1 et inferieur a 2
cpt egale a 2 et inferieur a 2
Or il m'affiche :
cpt egale a 1 et inferieur a 2
cpt egale a 2 et inferieur a 2
cpt egale a 3 et inferieur a 2
cpt egale a 4 et inferieur a 2
cpt egale a 5 et inferieur a 2
Une idée ?
D'avance, merci !
Windows / Chrome 117.0.0.0
A voir également:
- Batch : comparer deux variables
- Fichier batch - Guide
- Batch converter - Télécharger - Photo & Graphisme
- Batch renommer une partie du nom de plusieurs fichiers ✓ - Forum Autoit / batch
- Color batch - Forum Autoit / batch
- Renommer tous les fichiers d'un dossier - Forum Windows
Bonjour,
ne fonctionne de toute façon pas chez moi variables retardées ou pas (il y a un problème de syntaxe empêchant l'exécution).
Les variables retardées, c'est souvent piégeux, alternative via une sous-routine CALL:
Dans mon environnement cela fonctionne
Recopié textuellement, rien à faire; mais bon, chercher à comprendre, c'est commencer à désobéir...
C'est parfait, merci à toi @brucine
Si je veux faire zoli et rajouter les accents qui conviennent:
IF %cpt1% LEQ %nb_a_supp% echo cpt égal à %cpt1% et inférieur ou égal a %nb_a_supp%
mettre en tête de gondole après echo off:
CHCP 65001>NUL