У меня есть пакетный скрипт, который просто переключает мой путь к Python. Когда я запускаю его во второй раз, моя переменная не устанавливается, но строка, которую я хочу установить, отображается на консоли.
Первый запуск скрипта:
C:\Users\Hai\Desktop>FOR /F "delims=" %I IN ('Python -V') DO (
setlocal
set "ver=%I"
)
C:\Users\Hai\Desktop>(
setlocal
set "ver=Python 3.6.3"
)
Второй раз запускает тот же пакетный файл без закрытия консоли:
C:\Users\Hai\Desktop> chPythonVer.bat
C:\Users\Hai\Desktop>FOR /F "delims=" %I IN ('Python -V') DO (
setlocal
set "ver=%I"
)
Python 2.7.15
Вот как я устанавливаю свою переменную:
FOR /F "delims=" %%I IN ('Python -V') DO (
setlocal
set "ver=%%I"
)
echo the current version pathed is %ver%
SET /P c=would you like to switch to the other version? [y/n]
IF /I "%c%" EQU "y" (
IF "%ver%" EQU "Python 3.6.3" (
endlocal
set PATH= ...
echo switched to Python 2.7.15
pause
) ELSE (
endlocal
set PATH= ...
echo switched to Python 3.6.3
pause
)
) ELSE IF /I "%c%" EQU "n" (
endlocal
pause
)