Supprimer le nom de chemin indésirable de% path% variable via le lot
Portée: Windows XP ou plus récent
Outils: script Batch
J'ai besoin d'être en mesure de supprimer un inutiles nom de chemin d'accès du système variable %PATH%. Je sais comment faire pour ajouter un nouveau nom de chemin d'accès pour le système de la variable %PATH%, à l'aide d'un outil tel que SETX.EXE, ce qui rend également immédiatement disponibles à l'intérieur de la CMD environnement. C'est probablement une question de TROUVER et/ou d'une boucle FOR, mais je ne suis pas tout à fait sûr de la façon d'accomplir ceci. Voici un exemple d'instruction de chemin d'accès...
%PATH% = C:\;C:\Program Files\Common Files\Java;C:\oracle\product.2.0\bin;C:\WINDOWS;C:\WINDOWS\system32;
À partir de cela, j'ai besoin d'être en mesure de retirer le nom de chemin complet liés à "oracle". Ainsi, dans l'exemple ci-dessus, j'ai besoin d'être en mesure de retirer le "C:\oracle\product\10.2.0\bin" à partir de ci-dessus instruction de chemin d'accès. Malheureusement, non seulement le oracle nom de chemin d'accès être différentes de celles indiquées ci-dessus, il pourrait y avoir plusieurs oracle noms de chemin d'accès et tous besoin d'être enlevé. J'ai essayé la mise en œuvre de la solution ici...
Comment puis-je extraire un chemin d'accès complet à partir de la variable d'environnement PATH?
Cependant, il n'est tout simplement pas de travail. Le script ne serait pas trouver le nom de chemin d'accès. Toute aide serait appréciée. Merci.
source d'informationauteur user3208239 | 2014-01-22
Vous devez vous connecter pour publier un commentaire.
Cela supprime la sous-chaîne
C:\Program Files (x86)\Git\bin;
de la chaîne de CHEMIN et de ré-affecte:Vous pouvez l'utiliser pour voir le changement:
Remarque: être exact sur la sous-chaîne. Il est sensible à la casse et slash-sensibles.
Si vous avez besoin de faire un changement persistant utilisation
setx
au lieu deset
et ouvrir une autre console pour que les modifications prennent effet.@SachaDee j'ai eu des erreurs avec les chemins comme
entre crochets:
Program Files (x86)\Directory
m'a donné
Répertoire
was unexpected at this time.
(quel que soit le temps que je l'ai essayé)J'ai ajouté
avant la boucle for et
après la boucle (pas sûr si c'est nécessaire)
Vous pouvez essayer quelque chose comme ceci :
J'ai mis un
echo
à la dernière ligne. Vérifier le résultat et Si c'est OK pour vous, retirez-la.