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
Votre code fonctionne très bien quand à partir d'un fichier de commandes. Si vous tapez directement dans CMD, puis ne pas échapper à la
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
Mise à jour de question pour refléter
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
Vous devez vous connecter pour publier un commentaire.
À l'aide de
SET /P
est votre problème, 5 n'est plus traité comme une valeur numérique. Votre exemple que ci-dessus fonctionne comme prévuSET /P
(ou quelque chose qui pourrait fonctionner de la même façon) et effectuer des opérations mathématiques sur la variable?Voir ce lien: stackoverflow.com/a/684389/334849. Ils utilisent
SET /P
, puis faireSET /A
pour une deuxième variable plus tard dans le code.Essayé aujourd'hui. Ne fonctionne toujours pas. Maintenant, je reçois deux
Missing operator
erreurs.Modifier votre question initiale avec le code que vous utilisez en ce moment
C'est déjà fait. J'ai tout compris maintenant. Apparemment, avoir des tirets dans les noms de variable (ouais, j'ai été en utilisant différents noms de variables) ne se mélangent pas bien avec de l'exécution de mathématiques sur ces variables. (Édité ceux de maintenant, aussi.)
OriginalL'auteur LittleBobbyTables