Two other thing. In the below, there would be an error if the user just hit enter.
@ECHO OFF
SET /P VAR1=Choice:
IF %VAR1%==2 GOTO CREATE
IF %VAR1%==1 GOTO LOGIN
IF %VAR1%== GOTO PSO
should be
@ECHO OFF
set VAR1=
SET /P VAR1=Choice:
IF "%VAR1%"=="2" GOTO CREATE
IF "%VAR1%"=="1" GOTO LOGIN
IF "%VAR1%"=="" GOTO PSO
You also need to correct every other time you use set/p such that you clear the variable before using it (set varname=) and that you use quotes (or any other character) around the comparisons on both sides, as the variable could be empty, which would cause an error:
IF ==2 GOTO CREATE
is not valid code but
IF ""=="2" GOTO CREATE
is fine.
Also the path looked at by
:CREATE2
SET /P VAR2=Username:
IF EXIST DATA\%VAR2%.txt GOTO AT
GOTO SP
is different to the DATA\DATA path looked at by all others.