IF Conditionnel Batch files
Résolu/Fermé
A voir également:
- IF Conditionnel Batch files
- Fichier batch - Guide
- Formatage conditionnel excel - Guide
- Dat files - Guide
- Recover my files pc - Télécharger - Récupération de données
- Bin files - Guide
3 réponses
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
27 mars 2013 à 09:42
27 mars 2013 à 09:42
hello
mettre un espace entre 10 et (
mettre un espace entre 10 et (
IF !val! LSS 10 (
hello dubcek ;
merci pour votre reponce oui C est ca le probleme! en effet batch est tres stricte dans la forme des commandes ; bref voila ce que j'ai fait (je compte a 7 chiffres apres la virgule)
FOR /F "tokens=1,2* delims=0." %%i in (xxx.cvs) do (
set /a val=%%j
echo !val!
rem compteur des iterations
set /a z=!z!+1
if !val!==0 (
rem compter les valeurs nulles
set /a x=!x!+1
) else if !val! LSS 10 (
set /a s=!val!*100000
)else if !val! LSS 100 (
set /a s=!val!*10000
)else if !val! LSS 1000 (
set /a s=!val!*1000
) else if !val! LSS 10000 (
set /a s=!val!*100
) else if !val! LSS 100000 (
set /a s=!val!*10
) else if !val! LSS 1000000 (
set /a s=!val!*1
) else (
set /a s=0
set /a x=!x!+1
)
set /a somme=!somme! + !s!
@echo !somme!
)
set /a d=!z!-!x!
rem d=nbr iterations-nbre val nulles
rem avg=moyenne
set /a avg=!somme!/d
Merci.
merci pour votre reponce oui C est ca le probleme! en effet batch est tres stricte dans la forme des commandes ; bref voila ce que j'ai fait (je compte a 7 chiffres apres la virgule)
FOR /F "tokens=1,2* delims=0." %%i in (xxx.cvs) do (
set /a val=%%j
echo !val!
rem compteur des iterations
set /a z=!z!+1
if !val!==0 (
rem compter les valeurs nulles
set /a x=!x!+1
) else if !val! LSS 10 (
set /a s=!val!*100000
)else if !val! LSS 100 (
set /a s=!val!*10000
)else if !val! LSS 1000 (
set /a s=!val!*1000
) else if !val! LSS 10000 (
set /a s=!val!*100
) else if !val! LSS 100000 (
set /a s=!val!*10
) else if !val! LSS 1000000 (
set /a s=!val!*1
) else (
set /a s=0
set /a x=!x!+1
)
set /a somme=!somme! + !s!
@echo !somme!
)
set /a d=!z!-!x!
rem d=nbr iterations-nbre val nulles
rem avg=moyenne
set /a avg=!somme!/d
Merci.
Salut,
pour etre plus correcte on doit rempalcer:
FOR /F "tokens=1,2* delims=0." %%i in (xxx.cvs) do (
par:
FOR /F "tokens=1,2* delims=." %%i in (xxx.cvs) do (
car si vous avez des valeurs qui contiennent 0 seulement la partie avant 0 va etre recuperee exemple:
0.123456 ===>1234
mais
0.120456===> 12
Merci.
pour etre plus correcte on doit rempalcer:
FOR /F "tokens=1,2* delims=0." %%i in (xxx.cvs) do (
par:
FOR /F "tokens=1,2* delims=." %%i in (xxx.cvs) do (
car si vous avez des valeurs qui contiennent 0 seulement la partie avant 0 va etre recuperee exemple:
0.123456 ===>1234
mais
0.120456===> 12
Merci.