Sur ma machine Windows 7, à l'aide de Propriétés du système> Variables d'environnement Outil, j'essaie d'ajouter %USERPROFILE%\Bin
à la variable système PATH
. Pour une raison quelconque, cela ne fonctionne pas, même si %SystemRoot%\system32
fonctionne bien.
Lorsque j'essaie d'exécuter des commandes de la console, les fichiers de mon dossier BIN ne sont pas trouvés, même si des fichiers dans le dossier System32
sont trouvés.
La seule différence entre UserProfile
et SystemRoot
que je peux voir, c'est que le premier est une variable utilisateur pendant que ce dernier est une variable système.
echo %USERPROFILE%\Bin
rendements c:\Users\zano
, et si j'ajoute c:\Users\zano\Bin
_ explicitement, tout fonctionne bien.
Quel est le problème ici?
Les variables système sont définies avant que les variables utilisateur soient. Par conséquent, aux variables du système horaire sont définies, aucune de vos variables d'utilisateur n'existe encore.
Vous pourrez peut-être créer une nouvelle variable utilisateur appelée chemin et le définir sur "%USERPROFILE%\Bin;%PATH%
". Je ne l'ai pas testé, mais elle peut faire ce que vous voulez. UserProfile peut toujours ne pas être définie, cependant, vous devrez peut-être que le chemin de code dans votre variable utilisateur, mais au moins cela n'affectera pas d'autres utilisateurs de l'ordinateur.
Stephen Jennings avait raison, mais juste une petite clarté. Sous Windows, si le chemin de variable utilisateur existe, il est automatiquement ajouté au chemin de la variable système. Le chemin de la variable utilisateur est autorisé à utiliser% userProfile% tandis que la variable système obtient le texte littéral "% userprofile%%".
Donc, créer une variable utilisateur "chemin" et le régler à% userprofile%\bin était tout ce qui était nécessaire.
Exemple 1:
Système Variable Chemin = C:\Windows\Change variable utilisateur =% UserProfile%\bin
Le chemin de l'utilisateur sera
C:\windows; c:\utilisateurs\user\bin
Exemple 2:
Système Variable Chemin = C:\Windows \;% UserProfile%\bin
La trajectoire variable de l'utilisateur n'est pas du tout définie.
Le chemin de l'utilisateur sera
C:\Windows \;% UserProfile%\bin
Vous ne voulez pas l'exemple 2.
Semblable à ce que dit Stephen mais
Créez une variable d'environnement utilisateur appelée Chemin dans ce cas, vous pouvez utiliser% userProfile% correctement - UserProfile est développé avant la procédure de traitement de l'utilisateur. Ce chemin d'utilisateur sera automatiquement annexé au chemin du système afin qu'il ne soit pas nécessaire d'ajouter la partie% du chemin%.
par exemple.
Variable du système: Chemin = C:\PATH1 Path Variable utilisateur =% UserProfile%\PATH2
Chemin résultant: chemin = c:\path1; c:\users\myuser\path2