Comment puis-je effectuer correctement le module opérations dans le Lot?

Je suis en train d'écrire un fichier de commandes qui effectue des opérations en fonction du résultat d'un module opération effectuée sur un ensemble de variables. Cependant, je ne peux pas sembler obtenir assez droit.

Tout d'abord de tester la syntaxe de l'opération mathématique, j'ai essayé d'obtenir un simple script à produire les résultats escomptés.

:START
SETLOCAL
SET /P Input-Num="Input Number: "
SET /A Input-Num=%Input-Num% %% 2
ECHO %Input-Num%
ENDLOCAL
PAUSE 
:END

Si je saisie 5, la sortie attendue est 1. Cependant, au lieu de cela, je reçois un message disant Missing operator. et puis c'sorties 5.

Ce que je fais mal?

Est-ce que le DOS ou quelque chose d'autre? Je reçois 1 sans Missing operator quand je lance ce exacte de l'échantillon (avec @ECHO OFF ajouté en haut)
Votre code fonctionne très bien quand à partir d'un fichier de commandes. Si vous tapez directement dans CMD, puis ne pas échapper à la %. utilisation % au lieu de %%.
Tout d'abord, j'adore le nom de votre écran. C'est dans CMD sur Windows 7. J'ai mis à jour les balises.
Je vais essayer de nouveau, mais j'ai été en cours d'exécution comme un fichier de commandes tout le temps. Peut-être la seule différence significative est que j'ai été en utilisant SET /P de la première variable de réglage.
Mise à jour de question pour refléter SET /P.

OriginalL'auteur Iszi | 2012-07-17