comment vérifier si un paramètre (ou une variable) est numérique dans le fichier de commandes Windows
J'ai besoin de vérifier si un paramètre qui est passé à windows fichier de commandes est numérique ou pas.
Je l'ai trouvé en dessous de réponse, qui est à l'aide de "findstr" commande avec expression régulière:
https://superuser.com/questions/404338/check-for-only-numerical-input-in-batch-file
J'ai essayé la solution mais ça ne fonctionne pas. (au moins dans windows 7 ne fonctionne pas).
scénarios de test:
AA #NOT A VALID NUMBER
A1 #NOT A VALID NUMBER
1A #NOT A VALID NUMBER
11 #A VALID NUMBER
source d'informationauteur mhshams
Vous devez vous connecter pour publier un commentaire.
Remplacer
%1
avec%yourvarname%
comme appropriépour
± integers
(test aussi pour zéro):Vous pouvez essayer ce. La variable transmise est par exemple
var
et%var%
est égal à500
.si
%var%
est égal, par exemplea3453d
alors ce seraitvarCheck
être0
et parce que0
n'est pas égal àa3453d
il termine le traitement par lot.(La sortie sur la ligne 3 est juste au cas où si l'instruction décide de ne pas exécuter pour une raison ... XD.)
Fait la même chose que ci-dessus. Ont des problèmes avec les caractères spéciaux. Cependant, la solution est une approche différente.
Test scenarions:
@hornzach - Vous étiez si proches et avec beaucoup plus simple de répondre que le reste.
Pour masquer le message d'erreur (win 7 au moins) pour rediriger la sortie d'erreur standard (2) nul (un fichier spécial, tranquillement annule la sortie de "bit-seau")
Puis le reste de votre réponse qui fonctionne pour les 4 cas de test.
Réponse Complète Avec Des Cas De Test:
Sorties: