Obtenir un fichier batch à exécuter par rapport au dossier réel, pas un raccourci


8

J'ai créé quelques fichiers de commandes qui déplacent les fichiers par rapport au dossier dans lequel se trouve le fichier de commandes.

J'ai ajouté le dossier à ma barre des tâches à l'aide des barres d'outils => Nouvelle barre d'outils ..., mais maintenant, lorsque j'exécute les fichiers de commandes, la position de départ est Mes documents (U :), pas l'emplacement réel des fichiers de commandes. Existe-t-il un moyen de le faire utiliser le chemin réel?

Réponses:


10

Mettez ce qui suit en haut de votre fichier de commandes:

CD /D %~dp0

Explication:

  • L' /Doption indique CDde changer le lecteur actuel ainsi que le répertoire actuel d'un lecteur.
  • %0 est le nom du fichier batch
  • Le ~dit que nous voulons utiliser certains modificateurs
  • d se développe pour conduire la lettre.
  • p se développe en un chemin.

Il en %~dp0va de même du répertoire dans lequel réside le fichier de commandes.


Le CD fonctionne parfaitement, mais il ne change pas la désignation du lecteur, donc le script essaie toujours de s'exécuter sur U: \
ck.

Vous avez ajouté% ~ d0 pour changer de lecteur suite à votre explication.
ck.

@ck - Oublié les lecteurs, désolé. C'est probablement le plus simple à utiliser CD /D. Ont modifié la réponse pour refléter cela.
Dave Webb

nous pouvons utiliser à la PUSHDplace deCD /D
Tuan Anh Hoang-Vu
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.