Comment définir un CHEMIN d'accès à un fichier de commandes dans windows
Dans windows, j'en ai deux .les fichiers bat, dire dir_a/un.chauve-souris, et dir_b/b.chauve-souris.
Ce que je veux, c'est que, après l'exécution d'une.chauve-souris, je vais être en mesure d'appeler b.chauve-souris. Mon approche est de définir un CHEMIN d'accès à dir_b, donc dans un terminal qui a exécuté un.chauve-souris, je peux juste appeler b.chauve-souris et sera en mesure d'exécuter.b.chauve-souris. Mais le mettre "set PATH=dir_b;%PATH%" dans un.chauve-souris ne fonctionne pas. Qu'ai-je fait de mal?
Vous devez vous connecter pour publier un commentaire.
Pour le cas que vous avez affaire avec un chemin relatif:
Vous remarquerez que:
va ^^ PAS de travail ^^ !
Donc faire comme ceci:
...et bien sûr une
set path=%path%;%cd%
entre le pushd et popd feront aussi l'affaire
Bien aussi avoir un coup d'oeil ici:
https://stackoverflow.com/a/6595206/3135511
^À voir à le faire via le self made sous-fonction 'setAbsPath'
-> ou plutôt de appel vous pouvez également utiliser Pour - détails dans l'autre thread
Vous devez inclure le absolue chemin à b.fichier bat; par exemple:
Je soupçonne que vous avez un
SETLOCAL
dansa.bat
. TOUTES les modifications de l'environnement après une SETLOCAL sont supprimés lors de la mise en correspondanceENDLOCAL
(ouEOF
dans le même contexte) est atteint.Selon la façon dont vous êtes appelé à disparaître
a.bat
, vous auriez besoin de quelque chose de l'ordre deENDLOCAL&set "Path=dir_b;%PATH%"&GOTO :EOF
qui ajoutedir_b
à votre chemin d'accès existant comme vous avez l'air de exepect pour la durée de la session CMD.N'utilisez pas de CHEMIN, parce que les conflits avec le Chemin d'accès Windows. Au lieu de cela vous pouvez ajouter le texte suivant:
Puis ajouter popd dans un endroit approprié