I wrote the following batch script, but keep getting a missing operator error
set /a control=1
goto :while
:while
if "!control!"=="1" (
set /p FirstNumber=Please enter your first number:
set /p SecondNumber=Please enter your Second number:
set /a result=%FirstNumber%/%SecondNumber%
echo %FirstNumber% divided by %SecondNumber% = %result%
echo %FirstNumber% divided by %SecondNumber% = %result% >> results.txt
goto :while
)
pause
When I run this code, I keep getting a missing operand error. This is my output:
Please enter your first number 1: 10 Please enter your second number 1: 2 Missing operand. divided by =
setlocal enabledelayedexpansion
when setting and using a variabled inside a code block:
@echo off
setlocal enabledelayedexpansion
set /a control=1
:while
if !control! equ 1 (
set /p FirstNumber=Please enter your first number:
set /p SecondNumber=Please enter your Second number:
set /a result=FirstNumber / SecondNumber
echo !FirstNumber! divided by !SecondNumber! = !result!
echo !FirstNumber! divided by !SecondNumber! = !result!
goto :while
)
and without needing the parenthesized code block and obviously no need for delayedexpansion
@echo off
set /a control=1
:while
if not %control% equ 1 goto :eof
set /p FirstNumber=Please enter your first number:
set /p SecondNumber=Please enter your Second number:
set /a result=FirstNumber / SecondNumber
echo %FirstNumber% divided by %SecondNumber% = %result%
echo %FirstNumber% divided by %SecondNumber% = %result%
goto :while