Batch-Datei: Fehlender Operand
Ich möchte eine Batchdatei machen, bei der man vorher eine Nummer eingeben kann und anschließend diese Datei von dieser Nummer runter bis zu 0 zählt. Der Code wäre folgender:
@echo off
set /p num=
for /l %%i in (1,1,%num%) do (
set curnum=%num%-%%i
set /a curnumcalc=%curnum%
echo %curnumcalc%
)
pause
Ich bekomme beim Ausführen immer den Fehler "Fehlender Operand" und es wird nur angezeigt, dass ECHO ausgeschaltet ist, aber nicht die Nummer.
Kann mir jemand helfen? Danke :)
3 Antworten
Hallo!
So auf den ersten Blick kann ich nichts erkennen, CMD-batch ist weniger lesbar als Assembler.
Schalte mal echo an und berichte, in welcher Zeile du "fehlender Operant" bekommst. (wie weit läuft dein Programm durch)
Gruß
Bis einschließlich set curnum=%num%-%%i funktioniert es noch (in meinem Beispiel steht hier: set curnum=12-1). Bei set /a curnumcalc= zeigt es aber hinter dem = nichts mehr an. Folglich hat das Programm nichts zum echo-en, und der fehlende Operand ist die Variable %curnumcalc%.
Anmerkung: dabei siehst du dann auch, was aus %% und % alles wird ...
Hier hast du einen Funktionierenden Code! Von mir selber! Also nicht sagen das du es gemacht hast :)
@echo off set /p N="Zahl eingeben:"cls for /L %%A in (%N%,-1,0) do ( echo %%Aping localhost -n 2 >nul cls )
P.S.: Danke, funktioniert! :) Ich hätte die 2sek Pause aber gar nicht gebraucht ;)
du musst den code markieren (beim antworten) und dann auf das <> symbol klicken, sonst werden die leerzeilen nicht übernommen ;) aber ist schon ok :D
bin mir nicht sicher aber sollte nicht nach dem set num= etwas kommen?
es heißt set /p num=, das lässt den Nutzer selbst entscheiden.