Вместо
cmd /K "workon.bat" "$required_venv"
использование
cmd /C "workon.bat" "$required_venv"
Как он закроет новую оболочку после запуска командного файла, из cmd /?
/c Carries out the command specified by String and then stops. /k Carries out the command specified by String and continues.