Como usar o comando setx em um arquivo de lote do windows

Eu estou tentando criar um arquivo de lote do windows para definir automaticamente a variável de ambiente para usar python 2.4 ou python 3.3.

Tanto o python 2.4 como o 3.3 estão instalados no meu sistema. Aqui está o meu código:

::To toggle between Python24 and Python 33
@echo on
if (%PYTHONHOME:~-2%) == "24" (setx PYTHONHOME "C:\Python33" && setx PATH %PATH:Python24=Python33% ) else (setx PYTHONHOME "C:\Python24" && setx PATH %PATH:Python33=Python24% )
pause

Para começar, tenho o PYTHONHOME definido paraC:\Python24

Mas o script acima apresenta o seguinte erro:

SUCCESS: Specified value was saved.
ERROR: Invalid syntax. Default option is not allowed more than '2' time(s).
Type "SETX /?" for usage.

Meu PYTHONHOME ainda aponta para o python 24 e nada é alterado. O comando setx não altera a variável de ambiente. O que está causando esse erro?

questionAnswers(4)

yourAnswerToTheQuestion