попробуйте вот так (я использую ту же логику, что и вы):
@Echo off
setlocal enableextensions enabledelayedexpansion
FOR /L %%x in (1, 0, 10) DO (
Set /p "num1=Enter num1: "
if "!num1!" == "66" (
call :END
)
Set /P "num2=Enter num2: "
set /a "sum4=!num1! / !num2!"
echo result: !sum4!
if "!num2!" == "0" (
echo Number not valid, 0 entered
)
IF NOT "!num2!" == "0" (
set /a "sum5=!num1! / !num2!"
echo result: !sum5!
)
)
pause
exit /b
:END
cmd /k & exit
не так просто выйти из бесконечного цикла FOR /L
, поэтому здесь я использовал команду выхода, и яначинаю новый процесс cmd в той же консоли.Может быть, есть лучший способ.
Причиной ошибки отсутствующего операнда было то, что вы не использовали !
для переменной exapnsion везде, где это необходимо (несмотря на то, что вы активировали отложенное расширение)