@echo off
set "VIRTUAL_ENV=__VIRTUAL_ENV__"

if defined _OLD_VIRTUAL_PROMPT (
    set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
) else (
    if not defined PROMPT (
        set "PROMPT=$P$G"
    )
    set "_OLD_VIRTUAL_PROMPT=%PROMPT%"
)
set "PROMPT=__VIRTUAL_WINPROMPT__ %PROMPT%"

REM Don't use () to avoid problems with them in %PATH%
if not defined _OLD_VIRTUAL_PYTHONHOME
    set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%"

set PYTHONHOME=

if defined _OLD_VIRTUAL_PATH
    set "PATH=%_OLD_VIRTUAL_PATH%"
if not defined _OLD_VIRTUAL_PATH
    set "_OLD_VIRTUAL_PATH=%PATH%"

set "PATH=%VIRTUAL_ENV%\__BIN_NAME__;%PATH%"

@echo off
set "VIRTUAL_ENV=__VIRTUAL_ENV__"

if defined _OLD_VIRTUAL_PROMPT (
    set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
) else (
    if not defined PROMPT (
        set "PROMPT=$P$G"
    )
    set "_OLD_VIRTUAL_PROMPT=%PROMPT%"
)
set "PROMPT=__VIRTUAL_WINPROMPT__ %PROMPT%"

REM Don't use () to avoid problems with them in %PATH%
if defined _OLD_VIRTUAL_PYTHONHOME goto ENDIFVHOME
    set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%"
:ENDIFVHOME

set PYTHONHOME=

REM if defined _OLD_VIRTUAL_PATH (
if not defined _OLD_VIRTUAL_PATH goto ENDIFVPATH1
    set "PATH=%_OLD_VIRTUAL_PATH%"
:ENDIFVPATH1
REM ) else (
if defined _OLD_VIRTUAL_PATH goto ENDIFVPATH2
    set "_OLD_VIRTUAL_PATH=%PATH%"
:ENDIFVPATH2

set "PATH=%VIRTUAL_ENV%\__BIN_NAME__;%PATH%"

Correct syntax and control logic flow
Correct syntax and control logic flow
