Récupérer le lieu d'un fichier dans une variable puis l'utiliser dans cd %var%

Résolu/Fermé
ewenlau
Messages postés
22
Date d'inscription
mercredi 4 juillet 2018
Statut
Membre
Dernière intervention
13 mars 2022
- 27 mars 2021 à 07:41
barnabe0057
Messages postés
13837
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
17 mai 2022
- 27 mars 2021 à 10:43
Bonjour,
J'ai actuellement un problème. J'ai un fichier que l'on va appeler fichier1.bat et un autre fichier2.bat. Le premier, lorsque qu'on va l'ouvrir va permettre de se déplacer avec un truc custom :

set/p "explorer=EXPLORER>"
if %explorer%==ls goto ls
if %explorer%==cd goto cd
if %explorer%==pwd goto pwd
if %explorer%==exit goto exit
echo Commande inconnue.
goto explore
:ls
dir
goto explore
:cd
echo In wich directory do you want to go ?
set/p "cd=>"
cd %cd% >nul
goto explore
:pwd
cd c:
goto explore
:exit
fichier2.bat

Et c'est au niveau du :exit que j'ai un problème parce que le fichier a bougé et je ne peux plus le lancer.



Configuration: Windows 10 / Chrome 85.0.4183.83

2 réponses

barnabe0057
Messages postés
13837
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
17 mai 2022
4 803
Modifié le 27 mars 2021 à 09:51
Bonjour,

Si fichier1 et fichier2 se trouvent dans le même dossier, alors tu peux utiliser la variable %~dp0 comme ceci :

:exit
%~dp0fichier2.bat





“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
0
ewenlau
Messages postés
22
Date d'inscription
mercredi 4 juillet 2018
Statut
Membre
Dernière intervention
13 mars 2022

27 mars 2021 à 10:34
Non, il se trouve dans le dossier supérieur.
Merci pour ta réponse.
0
barnabe0057
Messages postés
13837
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
17 mai 2022
4 803
Modifié le 27 mars 2021 à 10:44
S'il se trouve dans le dossier supérieur, tu peux l'atteindre comme ceci :

:exit
../fichier2.bat


Ou bien au lieu d'utiliser CD tu peux t'amuser à bondir et revenir au point d'origine avec PUSHD et POPD
0