Afaik there is no way to call bat file and have environment persist globally on Windows. Which is probably you don't want anyway - vsvars32 bat file sets a lot of env variables that can interfere with system or other applications in strange way.
You could modify way how you launch cmd.exe, so it always executes shell.bat file first.
Create a new shortcut and set it to execute following command:
| C:\windows\system32\cmd.exe /K path\to\shell.bat
|
This will make cmd.exe to execute shell.bat and keep the terminal open (afaik this is what Casey does).
Then always use this shortcut to launch the terminal where you work on code or launch the game.
If you really really want to set this globally, you could do following:
a) execute shell.bat in cmd window
b) read values of PATH, INCLUDE and LIB env variables
c) set the values PATH, INCLUDE and LIB variables globally (manually)
After that you won't have need to call shell.bat at all.