622 votes

Quel est le répertoire courant dans un fichier batch ?

Je veux créer quelques fichiers batch pour automatiser un programme.

Ma question est la suivante : lorsque je crée le fichier batch, quel est le répertoire courant ? S'agit-il du répertoire où se trouve le fichier ou du même répertoire que celui qui apparaît dans l'invite de commande, ou encore d'autre chose ?

5voto

npocmaka Points 7794

%__CD__% , %CD% , %=C:%

Il y a aussi une autre variable dynamique %__CD__% qui pointe vers le répertoire courant, mais contrairement à %CD% il y a une barre oblique inversée à la fin. Cela peut être utile si vous voulez ajouter des fichiers au répertoire actuel. Voir aussi %CD% ne fonctionne pas dans un environnement d'extensions désactivées, mais %__CD__% fonctionne toujours.

Avec %=C:% %=D:% vous pouvez accéder au dernier répertoire consulté pour le lecteur correspondant. Si la variable n'est pas définie, vous n'avez pas accédé au lecteur dans la session cmd actuelle.

Et %__APPDIR__% s'étend à l'exécutable qui exécute le script actuel, alias cmd.exe répertoire.

4voto

icyrock.com Points 13698

Il s'agit du répertoire à partir duquel vous lancez le fichier batch. Par exemple, si votre lot se trouve dans c:\dir1\dir2 et vous le faites cd c:\dir3 puis exécuter le lot, le répertoire courant sera le suivant c:\dir3 .

1voto

Darek Adamkiewicz Points 125

Juste mes deux centimes.
La commande suivante échoue si elle est appelée depuis un fichier batch (Windows 7) placé sur un pendrive :

%SystemRoot%\System32\xcopy.exe /e /i "%cd%Ala" "C:\KS\Ala\"

Mais ça fait l'affaire :

%SystemRoot%\System32\xcopy.exe /e /i "%~dp0Ala" "C:\KS\Ala\"

0voto

czpy Points 21

Votre fichier bat doit se trouver dans le répertoire où se trouve/se trouvait le fichier bat lorsque vous l'avez ouvert. Cependant, si vous souhaitez le placer dans un autre répertoire, vous pouvez le faire avec la commande suivante cd [whatever directory]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X