You could add these two lines before invoking python
Adding a pause at the end as well would be good, in case it is reporting errors.
Also, calling it a .cmd file would be preferable to a .bat file.
IIRC, there's some historic "backward compatibility" associated with .bat files, one of which may be that %CD% is undeclared.
$ set /?
If Command Extensions are enabled, then there are several dynamic
environment variables that can be expanded but which don't show up in
the list of variables displayed by SET. These variable values are
computed dynamically each time the value of the variable is expanded.
If the user explicitly defines a variable with one of these names, then
that definition will override the dynamic one described below:
%CD% - expands to the current directory string.
Also do cmd /? to find out how to enable "Command Extensions"