Pb avec un fichier batch sous windows (shell)
Fermé
Nangel38
-
8 nov. 2009 à 20:35
abouder Messages postés 14 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 12 novembre 2009 - 9 nov. 2009 à 12:55
abouder Messages postés 14 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 12 novembre 2009 - 9 nov. 2009 à 12:55
A voir également:
- Pb avec un fichier batch sous windows (shell)
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
4 réponses
abouder
Messages postés
14
Date d'inscription
lundi 14 juillet 2008
Statut
Membre
Dernière intervention
12 novembre 2009
7
9 nov. 2009 à 11:42
9 nov. 2009 à 11:42
salut Nangel38
vous devez faire un pause pour voir le résultat , ajoutez l'instruction soulignée sous dessous :
@echo off
if "%1"=="/?" goto usage
if "%1"==""( echo Aucun parametre : rentrez votre annee de naissance
goto fin )
set /a "diff=1969-%1"
if %diff% LSS 0 (set CAT1 = veterans
goto ecrire)
if "%1"=="1986"( set CAT1 = "seniors"
goto ecrire)
if "%1"=="1970"( set CAT1 = "seniors"
goto ecrire)
if "%1"=="1989"( set CAT1 = espoir
goto ecrire)
if "%1"=="1987"( set CAT1 = espoir
goto ecrire)
if "%1"=="1991"( set CAT1 = "juniors"
goto ecrire)
if "%1"=="1990"( set CAT1 = juniors
goto ecrire)
if "%1"=="1993"( set CAT1 = cadets
goto ecrire)
if "%1"=="1992"( set CAT1 = cadets
goto ecrire)
if "%1"=="1995"( set CAT1 = minimes
goto ecrire)
if "%1"=="1994"( set CAT1 = minimes
goto ecrire)
if "%1"=="1997"( set CAT1 = benjamins
goto ecrire)
if "%1"=="1996"( set CAT1 = benjamins
goto ecrire)
if "%1"=="1999"( goto ecrire
echo poussin)
if "%1"=="1998"( set CAT1 = poussins
goto ecrire)
else ( set CAT1 = "ecole d'athlestisme"
goto ecrire)
:ecrire
echo la categorie correspondant a l'annee de naissance : %1 est : %CAT1%
goto fin
:usage
echo format de la commande : Categorie anneeDeNaissance
:fin
pause
n'oubliez pas de mentionner que votre pb est résolu SVP
wada3an
vous devez faire un pause pour voir le résultat , ajoutez l'instruction soulignée sous dessous :
@echo off
if "%1"=="/?" goto usage
if "%1"==""( echo Aucun parametre : rentrez votre annee de naissance
goto fin )
set /a "diff=1969-%1"
if %diff% LSS 0 (set CAT1 = veterans
goto ecrire)
if "%1"=="1986"( set CAT1 = "seniors"
goto ecrire)
if "%1"=="1970"( set CAT1 = "seniors"
goto ecrire)
if "%1"=="1989"( set CAT1 = espoir
goto ecrire)
if "%1"=="1987"( set CAT1 = espoir
goto ecrire)
if "%1"=="1991"( set CAT1 = "juniors"
goto ecrire)
if "%1"=="1990"( set CAT1 = juniors
goto ecrire)
if "%1"=="1993"( set CAT1 = cadets
goto ecrire)
if "%1"=="1992"( set CAT1 = cadets
goto ecrire)
if "%1"=="1995"( set CAT1 = minimes
goto ecrire)
if "%1"=="1994"( set CAT1 = minimes
goto ecrire)
if "%1"=="1997"( set CAT1 = benjamins
goto ecrire)
if "%1"=="1996"( set CAT1 = benjamins
goto ecrire)
if "%1"=="1999"( goto ecrire
echo poussin)
if "%1"=="1998"( set CAT1 = poussins
goto ecrire)
else ( set CAT1 = "ecole d'athlestisme"
goto ecrire)
:ecrire
echo la categorie correspondant a l'annee de naissance : %1 est : %CAT1%
goto fin
:usage
echo format de la commande : Categorie anneeDeNaissance
:fin
pause
n'oubliez pas de mentionner que votre pb est résolu SVP
wada3an
zavenger
Messages postés
811
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
161
9 nov. 2009 à 12:13
9 nov. 2009 à 12:13
Bonjour,
Pour que cela marche il faut respecter la syntaxe suivante :
-Espace entre le test et l'action : if "%1"=="" ( et non pas if "%1"==""(
-Appel d'une etiquette avec un : devant
Le test est fait a l'envers :
if %diff% GTR 0 (set CAT1 = veterans
goto :ecrire)
Si tu veux voir ce que fait ton code
@echo on a la place de @echo off
Tu remets off quand ton code fonctionne
Pour que cela marche il faut respecter la syntaxe suivante :
if "%1"=="" ( echo Aucun parametre : rentrez votre annee de naissance goto :fin )
-Espace entre le test et l'action : if "%1"=="" ( et non pas if "%1"==""(
-Appel d'une etiquette avec un : devant
Le test est fait a l'envers :
if %diff% GTR 0 (set CAT1 = veterans
goto :ecrire)
Si tu veux voir ce que fait ton code
@echo on a la place de @echo off
Tu remets off quand ton code fonctionne
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
9 nov. 2009 à 12:33
9 nov. 2009 à 12:33
hello
et pas d'espace avec le set sinon tu as un espace dans le nom de la variable
et pas d'espace avec le set sinon tu as un espace dans le nom de la variable
C:> set CAT1 = veterans C:> echo %CAT1% %CAT1% C:> echo %CAT1 % veterans C:> set CAT1=veterans C:> echo %CAT1% veterans
abouder
Messages postés
14
Date d'inscription
lundi 14 juillet 2008
Statut
Membre
Dernière intervention
12 novembre 2009
7
9 nov. 2009 à 12:55
9 nov. 2009 à 12:55
c'est un problème de syntaxe voici votre code, voici votre code corrigé
@echo off
if "%1"=="/?" goto usage
if "%1"=="" ( echo Aucun parametre : rentrez votre annee de naissance
goto fin )
set /a "diff=1969-%1"
if %diff% LSS 0 (set CAT1="veterans"
goto ecrire)
if "%1"=="1986" ( set CAT1="seniors"
goto ecrire)
if "%1"=="1970" ( set CAT1 ="seniors"
goto ecrire)
if "%1"=="1989" ( set CAT1=espoir
goto ecrire)
if "%1"=="1987" ( set CAT1=espoir
goto ecrire)
if "%1"=="1991" ( set CAT1="juniors"
goto ecrire)
if "%1"=="1990" ( set CAT1=juniors
goto ecrire)
if "%1"=="1993" ( set CAT1=cadets
goto ecrire)
if "%1"=="1992" ( set CAT1=cadets
goto ecrire)
if "%1"=="1995" ( set CAT1=minimes
goto ecrire)
if "%1"=="1994" ( set CAT1=minimes
goto ecrire)
if "%1"=="1997" ( set CAT1=benjamins
goto ecrire)
if "%1"=="1996" ( set CAT1=benjamins
goto ecrire)
if "%1"=="1999" ( goto ecrire
echo poussin)
if "%1"=="1998"( set CAT1=poussins
goto ecrire)
else (set CAT1="ecole d'athlestisme"
goto ecrire)
:ecrire
echo la categorie correspondant a l'annee de naissance : %1 est : %CAT1%
goto fin
:usage
echo format de la commande : Categorie anneeDeNaissance
:fin
pause
@echo off
if "%1"=="/?" goto usage
if "%1"=="" ( echo Aucun parametre : rentrez votre annee de naissance
goto fin )
set /a "diff=1969-%1"
if %diff% LSS 0 (set CAT1="veterans"
goto ecrire)
if "%1"=="1986" ( set CAT1="seniors"
goto ecrire)
if "%1"=="1970" ( set CAT1 ="seniors"
goto ecrire)
if "%1"=="1989" ( set CAT1=espoir
goto ecrire)
if "%1"=="1987" ( set CAT1=espoir
goto ecrire)
if "%1"=="1991" ( set CAT1="juniors"
goto ecrire)
if "%1"=="1990" ( set CAT1=juniors
goto ecrire)
if "%1"=="1993" ( set CAT1=cadets
goto ecrire)
if "%1"=="1992" ( set CAT1=cadets
goto ecrire)
if "%1"=="1995" ( set CAT1=minimes
goto ecrire)
if "%1"=="1994" ( set CAT1=minimes
goto ecrire)
if "%1"=="1997" ( set CAT1=benjamins
goto ecrire)
if "%1"=="1996" ( set CAT1=benjamins
goto ecrire)
if "%1"=="1999" ( goto ecrire
echo poussin)
if "%1"=="1998"( set CAT1=poussins
goto ecrire)
else (set CAT1="ecole d'athlestisme"
goto ecrire)
:ecrire
echo la categorie correspondant a l'annee de naissance : %1 est : %CAT1%
goto fin
:usage
echo format de la commande : Categorie anneeDeNaissance
:fin
pause