SETX ne pas ajouter de chemin d'accès à la variable système path
J'ai essayé la commande ci-dessous pour ajouter le chemin vers le système variable de chemin d'accès par lot de fichier :
setx PATH "%PATH%;C:\Program Files\MySQL\MySQL Server 5.5\bin"
J'ai vérifié la variable système path après l'exécution de commandes ci-dessus-fichier, au-dessus de chemin d'accès n'est pas là.
Vous pouvez voir toutes les fenêtres Variable value
contenu ci-dessous::
C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMDAPP\bin\x86;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\ProgramFiles (x86)\ATI Technologies\ATI.ACE\Core-Static;
Ce que je fais mal?
- Utiliser le
/m
commutateur pour ajouter le chemin d'accès à votre système variable de chemin d'accès au lieu de l'utilisateur de votre variable path. Voirsetx
- Je crois que cette solution sera le lieu d'un double du système de chemin d'accès dans le parcours utilisateur, en %PATH% s'agrandit pour le système de chemin + chemin d'accès de l'utilisateur, par exemple pour le chemin d'accès au système s, le chemin d'accès utilisateur u, puis setx CHEMIN de %PATH%;c:\foo entraînera l'utilisateur path = s;u;c:\foo et par conséquent %PATH%== s;s;u;c:\foo.
- Dans la plupart des réponses à la nouvelle valeur est définie avec
SETX "%PATH%" /m
, mais le problème que @Wil S pointe est toujours là siPATH
a une valeur à la fois le chemin d'accès système (HKLM) et le chemin d'accès utilisateur (HKLU). Certains programmes mis sur le HKLU-CHEMIN lors de l'installation. Pour éviter toute doublons, vous devriez obtenir la valeur de CHEMIN avecREG QUERY
et puis ajouter votre nouvelle valeur.
Vous devez vous connecter pour publier un commentaire.
À piggy-back sur @Endoro de réponse (je n'ai pas la rep de commentaire):
Si vous souhaitez modifier l'échelle du système, les variables d'environnement, vous devez utiliser /M, à la:
setx.exe est pointilleux sur le placement de l' /M, BTW. Il doit être à la fin.
setx
per se dans ce cas. La ligne de commande limites de taille sont beaucoup plus sévères sur Windows que sur Linux, par exemple.SET "PATH=%PATH%;C:\path\to\bin\dir"
)AVERTISSEMENT!
setx tronque la valeur de 1 024 caractères.
Si vous l'utilisez pour modifier le CHEMIN d'accès que vous pourrait gâcher votre système.
Vous pouvez utiliser cette PowerShell fragment de code à ajouter quelque chose à votre chemin d'accès:
Dans le cas où vous ne voulez pas ajouter de nouveau un déjà existant entrée de quelque chose comme cela va faire (voir, par une meilleure version un peu plus bas):
Ici une version plus récente que j'utilise maintenant (2017-10-23).
Cette version gère imbriquée correctement les chemins.
E. g. il traite le cas de CHEMIN contenant "c:\tool\foo" et vous voulez ajouter "c:\tool".
machine
? Est-il le nom de mon ordinateur?vous ne devriez pas regarder les variables d'environnement système, mais de vos variables d'environnement utilisateur:
Il va ajouter votre chemin à la variable système
Ne devez jamais utiliser setx pour un chemin d'accès puisqu'il est limité à 1024 caractères, comme indiqué.
Pourrait utiliser reg add:
ou un ensemble pathkey="HKEY_CURRENT_USER\Environnement" pour le chemin d'accès utilisateur.
Puis de diffuser le changement:
J'ai connu le même problème quand j'ai essayé d'ajouter des variables de chemin d'accès liées à la fortran (Eclipse c/c++/fortran)
J'ai essayé
SETX /M Chemin "%PATH%;C:\Users\mahidhai\cygwin64\bin"
dans l'invite de commande en tant qu'administrateur .J'ai eu d'avertissement en disant:
de données tronquées à 1024 caractères et stockées .
SOlution:
Allez à fichier de registre directement.
Exécuter->regedit
Accédez à l'Environnement
(Chemin d'accès complet : HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment )
Cliquez sur le chemin d'accès du registre et ajouter la variable de chemin d'accès directement.
Ou de supprimer tout répété variables de chemin d'accès .
Maintenant , ouvrez l'invite de commande, puis exécuter la même commande
setx /M chemin "%path%, "
Variable de chemin d'accès pourrait être lié à C ou C++ ou fortran
Pas de soucis dans l'édition d'un fichier du registre , il sera enregistré en permanence , ne pas avoir peur que les variables d'environnement sont dans le gestionnaire de session.