6 Stimmen

Wie führe ich Modulusoperationen in Batch korrekt durch?

Ich versuche, eine Batch-Datei zu schreiben, die Operationen durchführt, je nachdem, wie das Ergebnis einer Modulus-Operation auf einer festgelegten Variable ist. Allerdings scheint es mir nicht ganz richtig zu gelingen.

Zunächst einmal, um meine Syntax für die mathematische Operation zu testen, habe ich versucht, ein einfacheres Skript zu schreiben, um die gewünschten Ergebnisse zu erzielen.

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

Wenn ich 5 eingebe, ist die erwartete Ausgabe 1. Stattdessen erhalte ich jedoch eine Meldung, die besagt Operator fehlt. und dann wird 5 ausgegeben.

Was mache ich hier falsch?

4voto

Das Problem liegt darin, dass SET /P verwendet wird, da 5 nicht mehr als numerischer Wert behandelt wird. Dein obiges Beispiel funktioniert wie erwartet

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X