Je veux modifier la variable PATH de Windows en utilisant setx
. Le suivant fonctionne au moins 50% du temps sur Windows 8:
setx PATH %PATH%;C:\Python27\;C:\Python27\Scripts\
Si cela donne l'erreur "l'argument par défaut ne peut être utilisé que 2 fois", alors le suivant fonctionne parfois:
setx PATH "%PATH%;C:\Python27\;C:\Python27\Scripts\"
La différence est que nous avons enveloppé le second argument entre guillemets. Je crois que les guillemets sont nécessaires lorsque %PATH%
se développe pour inclure des espaces.
Cependant, j'ai rencontré quelques problèmes étranges sur Windows 7. Sur une machine Windows 7 particulière, j'ai eu ce problème:
echo %PATH%
Ça affiche:
C:\Foo\;C:\Bar\;[...beaucoup de chose...]C:\Baz\
Ensuite je fais ça:
setx PATH "%PATH%;C:\Quux\"
Ensuite il dit "Erreur: Tronqué à 1,024 caractères." Maintenant vérifions ce que contient PATH:
echo %PATH%
Ça affiche:
C:\Foo\;C:\Foo\;C:\Bar\;C:\Bar\;[...beaucoup de choses, maintenant dupliquées...]C:\B
...et c'est coupé à 1,024 caractères. Il est dépassé à cause des duplications. Aussi intéressant: La valeur de PATH change malgré le fait que setx
ait levé une erreur et n'a pas dit "Succès".
J'ai pu reproduire ce comportement étrange plusieurs fois (heureusement j'avais sauvegardé le contenu original de PATH).
À ce moment, la seule méthode sûre que je connais pour ajouter à PATH est la suivante:
-
echo
le PATH. -
Copier le contenu de PATH dans un fichier texte et ajouter manuellement
;C:\Python27\;C:\Python27\Scripts\
à la fin du PATH. -
Copier le tout hors du fichier texte.
-
setx PATH ""
Ce processus fonctionne à chaque fois sur Windows 7 et Windows 8.
Je devrais vraiment être capable de faire cela en une seule commande. Qu'est-ce que je fais de travers?