web-dev-qa-db-fra.com

Récupère le répertoire contenant le script de commandes en cours d'exécution

J'utilise %0 dans le fichier batch pour obtenir le répertoire contenant le fichier batch mais le résultat est: -

c:\folder1\folder2\batch.bat

Je veux juste un répertoire, sans nom de fichier batch, comme ceci: -

c:\folder1\folder2\

Comment puis-je le faire? Je devrais peut-être filtrer le chemin. Si oui, comment faire?

31
%~p0

Renvoie le chemin uniquement.

%~dp0

Renvoie le lecteur + chemin.

Plus d'informations sur le sujet peuvent être trouvées sur site de Microsoft .

Des informations sur cette syntaxe peuvent également être trouvées dans l'aide de la commande pour en exécutant for /? sur un système d'exploitation Windows.

54
Bart De Vos

Le répertoire actuel est conservé dans% CD%

16
user9517

Quelques expressions qui affectent le nom de fichier:

~f0 donnera le nom de fichier complet.
~dpnx0 donnera la même chose que ~f0, mais cela vous montre que vous pouvez le décomposer en plusieurs parties: d = lecteur p = chemin n = nom x = extension

4
Mechaflash

utiliser la commande chdir

Option 1:

chdir 

Option 2:

echo %CD%
0
sensoft