Ну, я никогда не знал об операции defined
в сценариях cmd до сих пор ...
Мне кажется, ваш скрипт работает нормально - какая именно строка выдает ошибку?
Вы также можете попробовать:
if not "%_OLD_VIRTUAL_PATH%" == "" (
set PATH=%_OLD_VIRTUAL_PATH%
)
И поверьте мне, если вы переходите к сценариям Windows cmd, ожидая, что это будет что-то похожее на то, что у вас есть в bash, ваша голова очень сильно пострадает, очень скоро. Возможно, вы захотите изучить использование другого языка сценариев (PowerShell, Python, PERL - что угодно), если сценарии cmd не являются абсолютным требованием. самое главное (возможно, единственное), которое есть у сценариев cmd, - это то, что он уже установлен на каждом компьютере с Windows.