J'ai regardé mais ne peux pas trouver une spécification de précision quand un fichier batch IF est comparé numériquement avec une comparaison numérique op (par exemple gtr) au lieu de traiter ses arguments comme des chaînes.quand est-ce que le lot IF compare-op fait numériquement
J'ai trouvé cette question Windows batch file IF failure - How can 30000000000000 equal 40000000000? mais son explication - Si vous avez des caractères non numériques, alors IF fait une comparaison de chaînes - n'est pas complète. Par exemple:
@echo off& setlocal enabledelayedexpansion
if "123" gtr "99" echo greater
if 099 gtr 10 echo greater
if "+1000" gtr "0x99" echo greater
if 12-1 gtr 3 echo greater
if +1000 gtr 0x99 echo greater
Seul le dernier IF ci-dessus se fait numériquement et des échos plus ... encore ni côté de son-op comparer est composé uniquement de chiffres.