J'ai un script batch sur un CD. Chaque fois que j'essaie de l'exécuter et que je sais %~d0
, il renvoie le lecteur C: au lieu de F :, qui est mon lecteur de CD.
Quel est un moyen de trouver la lettre de lecteur?
Obtenez la lettre de lecteur du répertoire en cours avec:
%cd:~0,2%
% ~ dp0 est très utile dans une batte: c'est le dossier dans lequel se trouve le fichier de batte en cours d'exécution.
Peut-être qu'en haut de votre script, faites quelque chose comme:
set _SCRIPT_DRIVE=%~d0
set _SCRIPT_PATH=%~p0
et ensuite l'écho pour déboguer. % ~ d0 devrait vous donner ce que vous voulez, mais les autres options que j'ai mentionnées pourraient être utiles pour résoudre le problème.
Vous pouvez utiliser %~dp0
pour obtenir le répertoire actuel/de travail:
%~d0