Question comment obtenir le répertoire actuel pour l'exécution du fichier de commandes du répertoire actuel? [dupliquer]


Cette question a déjà une réponse ici:

J'ai un fichier de commandes (lunch.bat) à exécuter qui a la commande pour exécuter un autre fichier de commandes (main.bat). J'ai copié ces deux fichiers dans ma clé USB. Je connais le lecteur de ma clé USB dans mon ordinateur, c'est pourquoi je peux configurer le premier fichier de commandes (lunch.bat) pour exécuter un autre lot sur mon ordinateur. Mais lorsque je copie ces deux fichiers dans ma clé USB et que je l’insère sur un autre ordinateur, le premier fichier de commandes ne peut pas exécuter un autre fichier de commandes. Donc c'est un problème pour moi. Quelqu'un peut-il m'aider à obtenir la commande actuelle du répertoire comme la fonction c ++ (GetCurrentDirectory) pour exécuter le traitement par lots depuis n'importe quel ordinateur et depuis n'importe quel lecteur?


4
2018-04-01 17:42


origine




Réponses:


De Raymond Chen

Le moyen le plus simple consiste à utiliser la pseudo-variable% CD%. Il se développe dans le répertoire de travail en cours.

set OLDDIR=%CD%
.. do stuff ..
chdir /d %OLDDIR% &rem restore current directory

3
2018-04-01 17:44





Commande par lots cd saisie sans aucun paramètre renverra le répertoire de travail actuel.


1
2018-04-01 17:45





Mettez ce code dans le lunch.bat fichier:

call %~dp0main.bat

Cela commence le main.bat du même lecteur et dossier que le lunch.bat, où que ce soit.


0
2018-04-01 18:34