.BAT = Changer le chemin de %~dpnx0 [Fermé]

Signaler
-
 micromega -
Bonjour,

J'utilise ce code
set currentpath=%~dpnx0
pour recevoir le chemin de là où se trouve le fichier .bat.

Cependant, j'aimerais pouvoir me déplacer à partir de ce chemin pour utiliser un autre chemin.

Exemple : le fichier ".bat" est dans F:\Mon\Dossier 1\fichier.bat
la commande set currentpath=%~dpnx0 me donne bien ce chemin, mais j'aimerais aller dans F:\Mon\Dossier 2\Dossier 3\fichier.exe

Comment puis-je changer de dossier à partir de là ?

Merci

4 réponses

Messages postés
764
Date d'inscription
samedi 29 mars 2014
Statut
Membre
Dernière intervention
8 septembre 2018
93
Bonjour.

currentPath est une variable creer par set.
currentPath est une variable affecté par une autre variable ms-dos
qui renvoi le chemin et son fichier.
d représent la lettre du lecteur
p représente le chemin du fichier
n représente le nom du fichier
x représent l'extension du fichier.

Pour modifier ce chemin il faut récupérer le chemin sans le fichier.
~dp0

une fois le chemin obtenu par la variable ~dp0 on y ajoute les deux point pour remonter d'un dossier.
~dp0..\
Dans le dossier superieur on precise le dossier dans le quel on souhaite ce placé suivi du nom du fichier si on le souhaite. Dans mon cas un fichier html
%~dp0..\mars-radio-dnb-2\index.html

Pour concerver la variable currentPath j'ai crée un autre variable
qui ce nome cheminAuxiliare et je lui est affecté le chemin que je désirais.

Il suffit de mettre echo devant cette variable pour l'afficher ou sinon de retirer echo pour lancé le programme. Ici dans mon cas ça lance une page html.

@echo off
set currentpath=%~dp0
set cheminAuxiliare=%~dp0..\mars-radio-dnb-2\index.html
%cheminAuxiliare%
pause
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 72015 internautes nous ont dit merci ce mois-ci

Mars Radio DNB
Messages postés
13831
Date d'inscription
vendredi 6 novembre 2009
Statut
Contributeur
Dernière intervention
4 décembre 2019
1 301
merci mon ami^^ de venir a la rescousse!
l'union fait la force^^ ou le nions fait la force lol je sait plus lol mdr.............
Messages postés
13831
Date d'inscription
vendredi 6 novembre 2009
Statut
Contributeur
Dernière intervention
4 décembre 2019
1 301
salut,
je me souviens plus ca fait longtemps
mais à partir de ce chemin tu creer un fichier contenant les variable des chemin que tu appelle avec la commande call je crois (faut que je verif ce soir... si on ta pas répondu entre temps).

je me souviens plus mais si je cherche dans mes code je doit le retrouver...

Bonjour et merci pour vos aides !

En effet la solution de codeurh24 semble fonctionner. Merci à toi.

Par contre tu indique "une fois le chemin obtenu par la variable ~dp0 on y ajoute les deux point pour remonter d'un dossier." >> 2 points pour remonter d'un dossier, mais si l'on souhaite remonter de 3 ou 4 dossiers par exemple cela fonctionne ou alors il y a une autre technique ?
codeurh24
Messages postés
764
Date d'inscription
samedi 29 mars 2014
Statut
Membre
Dernière intervention
8 septembre 2018
93
remonter d'un dossier ..
remonter de 2 dossiers ..\..
remonter de 3 dossiers ..\..\..
remonter de 4 dossiers ..\..\..\..

tu peux jouer a ça avec cd en ligne de commande
cd ..
dubcek
Messages postés
18121
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
30 mars 2020
4 711
hello
pour remonter de 3 niveaux, ajouter :\..\..\..
Compris !

Merci pour vos réponses rapides et efficaces.