Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Missing Operator when using variables set on /p

Tags:

batch-file

set

I'm using this piece of code in my script, and each time the script gets to this part (the sets) CMD gives out missing operator (operandus, etc.) error. I wasn't able to find any answer for it, even when I spent an entire hour just googling and searching. If anyone could give me a hint, I would be damn happy!

    :start
echo Good Job everyone!
set /P /a fglobal = You won: 
set /P /a r = Rery: 
set /a global = %fglobal%+%r%
set /P /a size = MaxSize: 
set /a maxsize = %size%*100
set /a mxp = %global%/100
set /a rxp = %random%/1000
set /a xp = %mxp%+%rxp%
echo.
echo SUCCESS!
echo.
echo.
echo Gained money: %global% $ / %maxsize% $
echo Gained XP: %xp%
echo.
pause
cls
like image 625
Wolf Avatar asked Mar 22 '23 22:03

Wolf


2 Answers

don't put spaces and don't use percents.

set /p a=you won:
set /p r=Reatry:
set /a b=a+r
echo.%b%
like image 76
cure Avatar answered Mar 24 '23 12:03

cure


The solution is to avoid spaces.
And don't mix options, either /P or /A but not both together.

set /P fglobal= You won: 
set /P r= Rery: 
set /a global= %fglobal%+%r%
set /P size= MaxSize: 
set /a maxsize= %size%*100
set /a mxp= %global%/100
set /a rxp= %random%/1000
set /a xp= %mxp%+%rxp%
like image 22
jeb Avatar answered Mar 24 '23 10:03

jeb