human
Que signifie %~dp0 et comment cela fonctionne-t-il ?
J'aimerais aussi savoir s'il s'agit d'une fonctionnalité documentée ou quelque chose qui risque d'être obsolète
gpt
Appeler `for /?` dans la ligne de commande donne de l'aide sur cette syntaxe (qui peut être utilisée en dehors de FOR également, c'est juste l'endroit où l'aide peut être trouvée).

> De plus, la substitution des références de variable FOR a été améliorée. Vous pouvez maintenant utiliser la syntaxe optionnelle suivante :
```%~I         - développe %I en supprimant les guillemets entourants (")
%~fI        - développe %I en un nom de chemin d'accès entièrement qualifié
%~dI        - développe %I en une lettre de lecteur uniquement
%~pI        - développe %I en un chemin d'accès uniquement
%~nI        - développe %I en un nom de fichier uniquement
%~xI        - développe %I en une extension de fichier uniquement
%~sI        - le chemin développé ne contient que des noms courts
%~aI        - développe %I en attributs de fichier
%~tI        - développe %I en date/heure du fichier
%~zI        - développe %I en taille du fichier
%~$PATH:I   - recherche les répertoires répertoriés dans la variable d'environnement PATH et développe %I en le nom entièrement qualifié du premier répertoire trouvé. Si le nom de la variable d'environnement n'est pas défini ou si le fichier n'est pas trouvé lors de la recherche, alors ce modificateur se développe en une chaîne vide
```
  Les modificateurs peuvent être combinés pour obtenir des résultats composés :
```%~dpI       - développe %I en une lettre de lecteur et un chemin d'accès uniquement
%~nxI       - développe %I en un nom de fichier et une extension uniquement
%~fsI       - développe %I en un nom de chemin d'accès complet avec uniquement des noms courts
%~dp$PATH:I - recherche les répertoires répertoriés dans la variable d'environnement PATH pour %I et développe en une lettre de lecteur et un chemin d'accès du premier répertoire trouvé.
%~ftzaI     - développe %I en une ligne de sortie semblable à DIR
```
  Dans les exemples ci-dessus, %I et PATH peuvent être remplacés par d'autres valeurs valides. La syntaxe %~ est terminée par un nom de variable FOR valide. Le choix de noms de variables en majuscules comme %I le rend plus lisible et évite toute confusion avec les modificateurs, qui ne sont pas sensibles à la casse.

Il existe différentes lettres que vous pouvez utiliser comme ```f``` pour "nom de chemin d'accès complet", ```d``` pour lettre de lecteur, ```p``` pour chemin d'accès, et elles peuvent être combinées. ```%~``` est le début de chacune de ces séquences et un nombre ```I``` indique qu'il fonctionne sur le paramètre ```%I``` (où ```%0``` est le nom complet du fichier batch, tout comme vous l'avez supposé).