Obtenir le répertoire batchfile courant
3 réponses
la variable système en lecture seule %CD%
conserve le chemin de l'appelant du lot, et non l'emplacement du fichier du lot.
vous pouvez obtenir le nom du script de lot lui-même dactylographié par l'utilisateur avec %0
(par exemple scripts\mybatch.bat
). Parameter extensions peut être appliqué à cela de sorte que %~dp0
retournera le lecteur et le chemin au script de lot (par exemple W:\scripts\
) et %~f0
retournera le chemin complet (par exemple W:\scripts\mybatch.cmd
).
vous pouvez Vous référer à d'autres fichiers dans le même dossier que le script de commandes en utilisant cette syntaxe:
CALL %0\..\SecondBatch.cmd
cela peut même être utilisé dans un sous-programme, Echo %0
donnera l'étiquette d'appel mais, echo "%~nx0"
vous donnera le nom de fichier du script de lot.
lorsque la variable %0
est étendue, le résultat est entouré de guillemets.
dans votre .fichier bat:
set mypath=%cd%
vous pouvez maintenant utiliser la variable %mypath%
pour référencer le chemin du fichier au fichier .bat
. Pour vérifier que le chemin est correct:
@echo %mypath%
Par exemple, un fichier appelé DIR.bat
avec le contenu suivant
set mypath=%cd%
@echo %mypath%
Pause
exécuter à partir du répertoire g:\test\bat
se fera l'écho de ce chemin d'accès dans la fenêtre de commande DOS.