Bonsoir Eric,
tu peux remplacer facilement la virgule par des points !
set VAR=%VAR:,=.%
A bientôt,
--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
MCSE+M,MCSE+I,MCDBA,MCSA+S
http://webfamilial.dyndns.org
http://faqexchange.dyndns.org
"Eric M" <Eric a écrit dans le message de news:Bonjour a tous,
Voila j'ai fait un petit script dos qui me sert a comparer deux nombres. Or
quand le nombre a une virgule la comparaison echoue.
exemple d'echec
if 12,25 GEQ 10 echo eric
me met erreur innatendue . La virgule lui affirme je crois , en fait que la
commande est cassée
exemple de reussite (la virgule est remplacée par un point)
if 12.25 GEQ 10 echo eric
je ne sais pas trop quoi faire car par exemple si on met le 12,25 en
paranthése , pour lui ce n'est plus un nombre
if "12,25" GEQ 10 echo eric
(cela ne me renvoit pas eric)
mon script reel etant une variable sété et il est difficile pour moi de
modifier dans la suite de mon script les virgules par un point ..
Merci pour votre aide
Bonsoir Eric,
tu peux remplacer facilement la virgule par des points !
set VAR=%VAR:,=.%
A bientôt,
--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
MCSE+M,MCSE+I,MCDBA,MCSA+S
http://webfamilial.dyndns.org
http://faqexchange.dyndns.org
"Eric M" <Eric M@discussions.microsoft.com> a écrit dans le message de news: 3091750B-1224-4D27-BFEC-01C1E5FA1551@microsoft.com...
Bonjour a tous,
Voila j'ai fait un petit script dos qui me sert a comparer deux nombres. Or
quand le nombre a une virgule la comparaison echoue.
exemple d'echec
if 12,25 GEQ 10 echo eric
me met erreur innatendue . La virgule lui affirme je crois , en fait que la
commande est cassée
exemple de reussite (la virgule est remplacée par un point)
if 12.25 GEQ 10 echo eric
je ne sais pas trop quoi faire car par exemple si on met le 12,25 en
paranthése , pour lui ce n'est plus un nombre
if "12,25" GEQ 10 echo eric
(cela ne me renvoit pas eric)
mon script reel etant une variable sété et il est difficile pour moi de
modifier dans la suite de mon script les virgules par un point ..
Merci pour votre aide
Bonsoir Eric,
tu peux remplacer facilement la virgule par des points !
set VAR=%VAR:,=.%
A bientôt,
--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
MCSE+M,MCSE+I,MCDBA,MCSA+S
http://webfamilial.dyndns.org
http://faqexchange.dyndns.org
"Eric M" <Eric a écrit dans le message de news:Bonjour a tous,
Voila j'ai fait un petit script dos qui me sert a comparer deux nombres. Or
quand le nombre a une virgule la comparaison echoue.
exemple d'echec
if 12,25 GEQ 10 echo eric
me met erreur innatendue . La virgule lui affirme je crois , en fait que la
commande est cassée
exemple de reussite (la virgule est remplacée par un point)
if 12.25 GEQ 10 echo eric
je ne sais pas trop quoi faire car par exemple si on met le 12,25 en
paranthése , pour lui ce n'est plus un nombre
if "12,25" GEQ 10 echo eric
(cela ne me renvoit pas eric)
mon script reel etant une variable sété et il est difficile pour moi de
modifier dans la suite de mon script les virgules par un point ..
Merci pour votre aide
Bonjour Thierry
Merci pour votre réponse..
Je ne connaissais pas cette commande (qui a prioiri est une variable dans
une variable ??)
Cependant que ce soit sous console ou forme de point bat ou sous console,
j'ai toujours la meme erreur (innatendue). ou alors je fais une erreur
dans
votre solution
mon virgule.bat
set VAR=%VAR:,=.%
if 10,25 geq 10,12 echo eric
pause
Merci pour votre aideBonsoir Eric,
tu peux remplacer facilement la virgule par des points !
set VAR=%VAR:,=.%
A bientôt,
--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
MCSE+M,MCSE+I,MCDBA,MCSA+S
http://webfamilial.dyndns.org
http://faqexchange.dyndns.org
"Eric M" <Eric a écrit dans le message de
news:Bonjour a tous,
Voila j'ai fait un petit script dos qui me sert a comparer deux
nombres. Or
quand le nombre a une virgule la comparaison echoue.
exemple d'echec
if 12,25 GEQ 10 echo eric
me met erreur innatendue . La virgule lui affirme je crois , en fait
que la
commande est cassée
exemple de reussite (la virgule est remplacée par un point)
if 12.25 GEQ 10 echo eric
je ne sais pas trop quoi faire car par exemple si on met le 12,25 en
paranthése , pour lui ce n'est plus un nombre
if "12,25" GEQ 10 echo eric
(cela ne me renvoit pas eric)
mon script reel etant une variable sété et il est difficile pour moi de
modifier dans la suite de mon script les virgules par un point ..
Merci pour votre aide
Bonjour Thierry
Merci pour votre réponse..
Je ne connaissais pas cette commande (qui a prioiri est une variable dans
une variable ??)
Cependant que ce soit sous console ou forme de point bat ou sous console,
j'ai toujours la meme erreur (innatendue). ou alors je fais une erreur
dans
votre solution
mon virgule.bat
set VAR=%VAR:,=.%
if 10,25 geq 10,12 echo eric
pause
Merci pour votre aide
Bonsoir Eric,
tu peux remplacer facilement la virgule par des points !
set VAR=%VAR:,=.%
A bientôt,
--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
MCSE+M,MCSE+I,MCDBA,MCSA+S
http://webfamilial.dyndns.org
http://faqexchange.dyndns.org
"Eric M" <Eric M@discussions.microsoft.com> a écrit dans le message de
news: 3091750B-1224-4D27-BFEC-01C1E5FA1551@microsoft.com...
Bonjour a tous,
Voila j'ai fait un petit script dos qui me sert a comparer deux
nombres. Or
quand le nombre a une virgule la comparaison echoue.
exemple d'echec
if 12,25 GEQ 10 echo eric
me met erreur innatendue . La virgule lui affirme je crois , en fait
que la
commande est cassée
exemple de reussite (la virgule est remplacée par un point)
if 12.25 GEQ 10 echo eric
je ne sais pas trop quoi faire car par exemple si on met le 12,25 en
paranthése , pour lui ce n'est plus un nombre
if "12,25" GEQ 10 echo eric
(cela ne me renvoit pas eric)
mon script reel etant une variable sété et il est difficile pour moi de
modifier dans la suite de mon script les virgules par un point ..
Merci pour votre aide
Bonjour Thierry
Merci pour votre réponse..
Je ne connaissais pas cette commande (qui a prioiri est une variable dans
une variable ??)
Cependant que ce soit sous console ou forme de point bat ou sous console,
j'ai toujours la meme erreur (innatendue). ou alors je fais une erreur
dans
votre solution
mon virgule.bat
set VAR=%VAR:,=.%
if 10,25 geq 10,12 echo eric
pause
Merci pour votre aideBonsoir Eric,
tu peux remplacer facilement la virgule par des points !
set VAR=%VAR:,=.%
A bientôt,
--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
MCSE+M,MCSE+I,MCDBA,MCSA+S
http://webfamilial.dyndns.org
http://faqexchange.dyndns.org
"Eric M" <Eric a écrit dans le message de
news:Bonjour a tous,
Voila j'ai fait un petit script dos qui me sert a comparer deux
nombres. Or
quand le nombre a une virgule la comparaison echoue.
exemple d'echec
if 12,25 GEQ 10 echo eric
me met erreur innatendue . La virgule lui affirme je crois , en fait
que la
commande est cassée
exemple de reussite (la virgule est remplacée par un point)
if 12.25 GEQ 10 echo eric
je ne sais pas trop quoi faire car par exemple si on met le 12,25 en
paranthése , pour lui ce n'est plus un nombre
if "12,25" GEQ 10 echo eric
(cela ne me renvoit pas eric)
mon script reel etant une variable sété et il est difficile pour moi de
modifier dans la suite de mon script les virgules par un point ..
Merci pour votre aide
Bonsoir Eric,
j'ai trouvé une solution ! c'est la virgule qui sert de terminateur aux
paramètres à comparer !
il faut donc tester en entourant les variables (de chaque élément à
comparer) par des "guillemets"
set VAR,25
set VAR=%VAR:,=.%
IF "%VAR%" GEQ "10,12" echo ERIC
pause
A bientôt,
--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
MCSE+M,MCSE+I,MCDBA,MCSA+S
http://webfamilial.dyndns.org
http://faqexchange.dyndns.org
"Eric M" a écrit dans le message de news:Bonjour Thierry
Merci pour votre réponse..
Je ne connaissais pas cette commande (qui a prioiri est une variable dans
une variable ??)
Cependant que ce soit sous console ou forme de point bat ou sous console,
j'ai toujours la meme erreur (innatendue). ou alors je fais une erreur
dans
votre solution
mon virgule.bat
set VAR=%VAR:,=.%
if 10,25 geq 10,12 echo eric
pause
Merci pour votre aideBonsoir Eric,
tu peux remplacer facilement la virgule par des points !
set VAR=%VAR:,=.%
A bientôt,
--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
MCSE+M,MCSE+I,MCDBA,MCSA+S
http://webfamilial.dyndns.org
http://faqexchange.dyndns.org
"Eric M" <Eric a écrit dans le message de
news:Bonjour a tous,
Voila j'ai fait un petit script dos qui me sert a comparer deux
nombres. Or
quand le nombre a une virgule la comparaison echoue.
exemple d'echec
if 12,25 GEQ 10 echo eric
me met erreur innatendue . La virgule lui affirme je crois , en fait
que la
commande est cassée
exemple de reussite (la virgule est remplacée par un point)
if 12.25 GEQ 10 echo eric
je ne sais pas trop quoi faire car par exemple si on met le 12,25 en
paranthése , pour lui ce n'est plus un nombre
if "12,25" GEQ 10 echo eric
(cela ne me renvoit pas eric)
mon script reel etant une variable sété et il est difficile pour moi de
modifier dans la suite de mon script les virgules par un point ..
Merci pour votre aide
Bonsoir Eric,
j'ai trouvé une solution ! c'est la virgule qui sert de terminateur aux
paramètres à comparer !
il faut donc tester en entourant les variables (de chaque élément à
comparer) par des "guillemets"
set VAR,25
set VAR=%VAR:,=.%
IF "%VAR%" GEQ "10,12" echo ERIC
pause
A bientôt,
--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
MCSE+M,MCSE+I,MCDBA,MCSA+S
http://webfamilial.dyndns.org
http://faqexchange.dyndns.org
"Eric M" <EricM@discussions.microsoft.com> a écrit dans le message de news:
F200B03E-68FA-4F32-A807-E3E03512F23B@microsoft.com...
Bonjour Thierry
Merci pour votre réponse..
Je ne connaissais pas cette commande (qui a prioiri est une variable dans
une variable ??)
Cependant que ce soit sous console ou forme de point bat ou sous console,
j'ai toujours la meme erreur (innatendue). ou alors je fais une erreur
dans
votre solution
mon virgule.bat
set VAR=%VAR:,=.%
if 10,25 geq 10,12 echo eric
pause
Merci pour votre aide
Bonsoir Eric,
tu peux remplacer facilement la virgule par des points !
set VAR=%VAR:,=.%
A bientôt,
--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
MCSE+M,MCSE+I,MCDBA,MCSA+S
http://webfamilial.dyndns.org
http://faqexchange.dyndns.org
"Eric M" <Eric M@discussions.microsoft.com> a écrit dans le message de
news: 3091750B-1224-4D27-BFEC-01C1E5FA1551@microsoft.com...
Bonjour a tous,
Voila j'ai fait un petit script dos qui me sert a comparer deux
nombres. Or
quand le nombre a une virgule la comparaison echoue.
exemple d'echec
if 12,25 GEQ 10 echo eric
me met erreur innatendue . La virgule lui affirme je crois , en fait
que la
commande est cassée
exemple de reussite (la virgule est remplacée par un point)
if 12.25 GEQ 10 echo eric
je ne sais pas trop quoi faire car par exemple si on met le 12,25 en
paranthése , pour lui ce n'est plus un nombre
if "12,25" GEQ 10 echo eric
(cela ne me renvoit pas eric)
mon script reel etant une variable sété et il est difficile pour moi de
modifier dans la suite de mon script les virgules par un point ..
Merci pour votre aide
Bonsoir Eric,
j'ai trouvé une solution ! c'est la virgule qui sert de terminateur aux
paramètres à comparer !
il faut donc tester en entourant les variables (de chaque élément à
comparer) par des "guillemets"
set VAR,25
set VAR=%VAR:,=.%
IF "%VAR%" GEQ "10,12" echo ERIC
pause
A bientôt,
--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
MCSE+M,MCSE+I,MCDBA,MCSA+S
http://webfamilial.dyndns.org
http://faqexchange.dyndns.org
"Eric M" a écrit dans le message de news:Bonjour Thierry
Merci pour votre réponse..
Je ne connaissais pas cette commande (qui a prioiri est une variable dans
une variable ??)
Cependant que ce soit sous console ou forme de point bat ou sous console,
j'ai toujours la meme erreur (innatendue). ou alors je fais une erreur
dans
votre solution
mon virgule.bat
set VAR=%VAR:,=.%
if 10,25 geq 10,12 echo eric
pause
Merci pour votre aideBonsoir Eric,
tu peux remplacer facilement la virgule par des points !
set VAR=%VAR:,=.%
A bientôt,
--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
MCSE+M,MCSE+I,MCDBA,MCSA+S
http://webfamilial.dyndns.org
http://faqexchange.dyndns.org
"Eric M" <Eric a écrit dans le message de
news:Bonjour a tous,
Voila j'ai fait un petit script dos qui me sert a comparer deux
nombres. Or
quand le nombre a une virgule la comparaison echoue.
exemple d'echec
if 12,25 GEQ 10 echo eric
me met erreur innatendue . La virgule lui affirme je crois , en fait
que la
commande est cassée
exemple de reussite (la virgule est remplacée par un point)
if 12.25 GEQ 10 echo eric
je ne sais pas trop quoi faire car par exemple si on met le 12,25 en
paranthése , pour lui ce n'est plus un nombre
if "12,25" GEQ 10 echo eric
(cela ne me renvoit pas eric)
mon script reel etant une variable sété et il est difficile pour moi de
modifier dans la suite de mon script les virgules par un point ..
Merci pour votre aide
Bonjour a tous .
Bonjour Thierry.
Merci pour ta réponse thierry que j'ai étudiée.
Manifestement je pense qu'il y a un petit probleme avec la commande IF LSS
..
Outre le fait de la séparation par point ou par virgule
Exemple :
if 70 LSS 80 echo PlusPetit donne un resultat correct
Essayons maintenant de comparer 66.23 et 500 ou 66,23 et 500
IF 66.23 LSS 500 echo PlusPetit (resultat incorrect !!! )
la meme en ,
IF 66,23 LSS 500 echo PlusPetit (incorrect la virgule casse la commande,
normal )
avec des ""
IF "66,23" LSS 500 echo PlusPetit (resultat correct, mais ! si on met le
500 entre guillemet c'est incorrect !!)
Mais si on change 500 par 700 , la cela fonctionne
IF 66.23 LSS 700 echo PlusPetit (resultat correct !!)
ou IF "66.23" LSS "700" echo PlusPetit (resultat incorrect)
Pour résumé
Si
IF "66,23" LSS "700" echo PlusPetit donne un resultat correct
IF "66,23" LSS "100" echo PlusPetit donne un resultat incorrect
IF "66.23" LSS "700" echo PlusPetit donne un resultat correct
IF "66.23" LSS "100" echo PlusPetit donne un resultat incorrect
IF 66.23 LSS 700 echo PlusPetit donne un resultat correct
IF 66.23 LSS 100 echo PlusPetit donne un resultat incorrect
donc d'apres ce que je comprends , manifestement il fait une comparaison
sur
une chaine litterale au niveau des digits alors qu'il est presenté par MS
comme une comparaison numérique et dans l'aide rien n'est précisé.
A priori ce problème vient depuis la nt4 (Je peux dire des erreurs ne pas
hésiter à me corriger) . Ainsi pour lui 66.23 est plus grand que 100 (6
au
dessus de 1)
Que puis je faire pour mon script .. sinon passer en vbs ou en perl que je
ne matrise pas trop.
Y a t il une solution ?? car cela fait plusieurs jours que je travaille
sur
ces cripots et celui ci est le dernier en bout de chaine.
Mon script compare.bat à cette forme
for /f %%c in (E:httrack%1_pbas.txt) do set pbas_temp=%%c
for /f %%e in (E:httrack%1_pclot_tampon.txt) do set pclot_tampon=%%e
if "%pclot_tampon%" LSS "%pbas_temp%" echo
%pclot_tampon%>E:httrack%1_pbas.txt
copy /y E:%1_pclot_tampon.txt E:%1_pclot.txt
Merci à Tous .Cette erreur, ou mon incompetence est bien pénible.
Bonjour a tous .
Bonjour Thierry.
Merci pour ta réponse thierry que j'ai étudiée.
Manifestement je pense qu'il y a un petit probleme avec la commande IF LSS
..
Outre le fait de la séparation par point ou par virgule
Exemple :
if 70 LSS 80 echo PlusPetit donne un resultat correct
Essayons maintenant de comparer 66.23 et 500 ou 66,23 et 500
IF 66.23 LSS 500 echo PlusPetit (resultat incorrect !!! )
la meme en ,
IF 66,23 LSS 500 echo PlusPetit (incorrect la virgule casse la commande,
normal )
avec des ""
IF "66,23" LSS 500 echo PlusPetit (resultat correct, mais ! si on met le
500 entre guillemet c'est incorrect !!)
Mais si on change 500 par 700 , la cela fonctionne
IF 66.23 LSS 700 echo PlusPetit (resultat correct !!)
ou IF "66.23" LSS "700" echo PlusPetit (resultat incorrect)
Pour résumé
Si
IF "66,23" LSS "700" echo PlusPetit donne un resultat correct
IF "66,23" LSS "100" echo PlusPetit donne un resultat incorrect
IF "66.23" LSS "700" echo PlusPetit donne un resultat correct
IF "66.23" LSS "100" echo PlusPetit donne un resultat incorrect
IF 66.23 LSS 700 echo PlusPetit donne un resultat correct
IF 66.23 LSS 100 echo PlusPetit donne un resultat incorrect
donc d'apres ce que je comprends , manifestement il fait une comparaison
sur
une chaine litterale au niveau des digits alors qu'il est presenté par MS
comme une comparaison numérique et dans l'aide rien n'est précisé.
A priori ce problème vient depuis la nt4 (Je peux dire des erreurs ne pas
hésiter à me corriger) . Ainsi pour lui 66.23 est plus grand que 100 (6
au
dessus de 1)
Que puis je faire pour mon script .. sinon passer en vbs ou en perl que je
ne matrise pas trop.
Y a t il une solution ?? car cela fait plusieurs jours que je travaille
sur
ces cripots et celui ci est le dernier en bout de chaine.
Mon script compare.bat à cette forme
for /f %%c in (E:httrack%1_pbas.txt) do set pbas_temp=%%c
for /f %%e in (E:httrack%1_pclot_tampon.txt) do set pclot_tampon=%%e
if "%pclot_tampon%" LSS "%pbas_temp%" echo
%pclot_tampon%>E:httrack%1_pbas.txt
copy /y E:%1_pclot_tampon.txt E:%1_pclot.txt
Merci à Tous .Cette erreur, ou mon incompetence est bien pénible.
Bonjour a tous .
Bonjour Thierry.
Merci pour ta réponse thierry que j'ai étudiée.
Manifestement je pense qu'il y a un petit probleme avec la commande IF LSS
..
Outre le fait de la séparation par point ou par virgule
Exemple :
if 70 LSS 80 echo PlusPetit donne un resultat correct
Essayons maintenant de comparer 66.23 et 500 ou 66,23 et 500
IF 66.23 LSS 500 echo PlusPetit (resultat incorrect !!! )
la meme en ,
IF 66,23 LSS 500 echo PlusPetit (incorrect la virgule casse la commande,
normal )
avec des ""
IF "66,23" LSS 500 echo PlusPetit (resultat correct, mais ! si on met le
500 entre guillemet c'est incorrect !!)
Mais si on change 500 par 700 , la cela fonctionne
IF 66.23 LSS 700 echo PlusPetit (resultat correct !!)
ou IF "66.23" LSS "700" echo PlusPetit (resultat incorrect)
Pour résumé
Si
IF "66,23" LSS "700" echo PlusPetit donne un resultat correct
IF "66,23" LSS "100" echo PlusPetit donne un resultat incorrect
IF "66.23" LSS "700" echo PlusPetit donne un resultat correct
IF "66.23" LSS "100" echo PlusPetit donne un resultat incorrect
IF 66.23 LSS 700 echo PlusPetit donne un resultat correct
IF 66.23 LSS 100 echo PlusPetit donne un resultat incorrect
donc d'apres ce que je comprends , manifestement il fait une comparaison
sur
une chaine litterale au niveau des digits alors qu'il est presenté par MS
comme une comparaison numérique et dans l'aide rien n'est précisé.
A priori ce problème vient depuis la nt4 (Je peux dire des erreurs ne pas
hésiter à me corriger) . Ainsi pour lui 66.23 est plus grand que 100 (6
au
dessus de 1)
Que puis je faire pour mon script .. sinon passer en vbs ou en perl que je
ne matrise pas trop.
Y a t il une solution ?? car cela fait plusieurs jours que je travaille
sur
ces cripots et celui ci est le dernier en bout de chaine.
Mon script compare.bat à cette forme
for /f %%c in (E:httrack%1_pbas.txt) do set pbas_temp=%%c
for /f %%e in (E:httrack%1_pclot_tampon.txt) do set pclot_tampon=%%e
if "%pclot_tampon%" LSS "%pbas_temp%" echo
%pclot_tampon%>E:httrack%1_pbas.txt
copy /y E:%1_pclot_tampon.txt E:%1_pclot.txt
Merci à Tous .Cette erreur, ou mon incompetence est bien pénible.