(Solved) - How to make a variable empty/null in BATCH?

I already know how to test for an empty variable by if %choice%==[%1]==[] goto whatever
But what I'd like to know is how to make the variable empty again after setting it. For example.
In this example if the user presses enter without typing anything it goes back to :start.

Ok so the user types "one" then they see the next "section"
then it goes back to the first :start "section."
But the issue is that if the user presses enter again after coming back to :start (without typing anything this time around) the cmd acts like they typed in the last thing typed in. So I'd like to stop that from happening.

---------------------------------------
@echo off

:start
cls
echo hey there.
echo you can pick one or two
set /p choice= choose either.
if %choice%==[%1]==[] goto start
if /i %choice%==one goto one
if /i %choice%==two goto two

The problem with your code is that there is no error condition tested for. If the user enters "one" it goes to :one, if the user enters "two" it goes to :two. If the user enters anything else, it bypasses your checks and ends up at :one anyway, as if the user entered "one". You have to put an error check after the conditions you test for, or else the processing continues right after your tests.

The "set choice=" clears the variable so the prior choice isn't there if the user just presses ENTER when asked to make a choice.

I also added a test for if the user entered "end", to exit the batch file process.