Page 1 sur 1

Valeur variable fausse

Posté : 13 févr. 2009 19:52
par pmer
Bonjour,
je suis un tout nouveau membre de ce forum. Je suis un débutant dans l'utilsation et la programmation en batch.
J'avoue que ce site web m'a bien aidé pour commencer ma programmation.
Voici mon problème :
dans le programme ci-dessous je ne comprends pas pourquoi la valeur de la variable !unsurLMO! est toujours égale à 0 alors que %%g est différente de 0 et vaut 142,9;156,1;599,8
programme batch
echo off
setlocal enableDelayedExpansion
@FOR /f "tokens=1-2,4-5,19-21 delims=," %%a in (D:\MeteoMM5\20080630separvirg.txt) do (
set LMO=%%g
set /A unsurLMO=1/!LMO!
echo 1/LMO : !unsurLMO!
)
endlocal
pause

Extrait du fichier 20080630separvirg.txt (3 lignes, 27 colonnes):
2008063000, 17.25, 0.783, 2.89, 360., 0.0, 0.0, -4.0, 2.5, 385.6, 9.80, 0.00, 0.00, 61., 0., 0., 0., 22405., 0.00, 300., 142.9, 267.9, 11.07, 9.80, 3.13, 327.,
2008063001, 16.77, 0.796, 2.83, 2., 0.0, 0.0, -3.5, 2.0, 381.8, 9.29, 0.00, 0.00, 19., 0., 0., 0., 22485., 0.00, 302., 156.1, 264.9, 3.38, 9.29, 2.54, 323.,
2008063002, 16.04, 0.801, 2.96, 3., 0.0, 0.0, -2.5, 2.4, 379.2, 10.13, 0.00, 0.00, 24., 0., 0., 0., 22919., 0.00, 292., 599.8, 263.4, 4.41, 10.13, 2.20, 321.,

En vous remerciant par avance pour votre aide sur cette question de néophyte.
Cordialement.
Pmer
PS : avec toutes mes excuses pou le mauvais placement de mon message

Re: Valeur variable fausse

Posté : 13 févr. 2009 20:06
par Batch_Man
Bonjour,

Voici le code qu'il te faut

Code : Tout sélectionner

@echo off
For /F "skip=2 tokens=21 delims=, " %%a in (D:\MeteoMM5\20080630separvirg.txt) do (
     set LMO=%%a
          )
For /F "skip=1 tokens=21 delims=, " %%a in ('type D:\MeteoMM5\20080630separvirg.txt ^| find /v "%LMO%"') do (
     set LMO2=%%a
          )
For /F "tokens=21 delims=, " %%a in ('type D:\MeteoMM5\20080630separvirg.txt ^| findstr /v "%LMO% %LMO2%"') do (
     set LMO3=%%a
          )
          
echo %LMO%
echo %LMO2%
echo %LMO3%
pause
Batch_Man