|Unless you have purely aesthetic reasons for not wanting the dot at the end, you should not worry about it. "\batch\sub1" is the same as "\batch\sub1." is the same as "\batch\sub1.\." is the same as "\batch\sub1\." is the same as "\batch\sub1\.\.\.\.", etc. Try it with the DIR command!|
"." is the current directory and ".." is the parent of the current. The dot ending is superior because you can always append a backslash (or ".\") and more path or a filespec. If your path ends in a backslash, you have to be aware of this, because you can't add another backslash.
A directory is a special type of file and may have an extension, but typically is not given one, so "\batch\sub1.." is also the same directory (the first dot is part of the filespecification).
To test existence of a path you look for it directly in the NT OS's:
IF EXIST %mypath% SET Found=TRUE
To test existence of a path in MS-DOS you look for the NUL file:
IF EXIST %mypath%.\NUL SET Found=TRUE
Rob van der Woude's Scripting Pages is one of the best websites:
"I have also become a nazi about making sure I clear my vars before I use them"
It is also a good idea to make sure the var isn't already in use!
IF NOT "%My_Var%"=="" GOTO ERRMSGnn