372 votes

Commande du shell Windows pour obtenir le chemin complet du répertoire actuel ?

Existe-t-il une commande de ligne de commande Windows que je peux utiliser pour obtenir le chemin complet du répertoire de travail actuel ?

De plus, comment puis-je stocker ce chemin dans une variable utilisée dans un fichier batch ?

574voto

Trevor Bramble Points 1920

Utilisez cd sans argument si vous utilisez directement l'interpréteur de commandes, ou %cd% si vous voulez l'utiliser dans un fichier batch (il se comporte comme une variable d'environnement).

136voto

gmaran23 Points 508

Vous pouvez définir une variable de lot/environnement comme suit :

SET var=%cd%
ECHO %var%

Exemple de capture d'écran d'un cmd.exe de Windows 7 x64.

enter image description here

Mise à jour : si vous faites un SET var = %cd% au lieu de SET var=%cd% Voici ce qui se passe. Merci à Jeb.

enter image description here

Capturer le répertoire courant à partir d'un fichier batch

59voto

Patrick Cuff Points 13362

Citez l'aide de Windows pour le set ( set /? ) :

If Command Extensions are enabled, then there are several dynamic
environment variables that can be expanded but which don't show up in
the list of variables displayed by SET.  These variable values are
computed dynamically each time the value of the variable is expanded.
If the user explicitly defines a variable with one of these names, then
that definition will override the dynamic one described below:

%CD% - expands to the current directory string.

%DATE% - expands to current date using same format as DATE command.

%TIME% - expands to current time using same format as TIME command.

%RANDOM% - expands to a random decimal number between 0 and 32767.

%ERRORLEVEL% - expands to the current ERRORLEVEL value

%CMDEXTVERSION% - expands to the current Command Processor Extensions
    version number.

%CMDCMDLINE% - expands to the original command line that invoked the
    Command Processor.

Notez le %CD% - expands to the current directory string. partie.

37voto

Fred Scales Points 31

Cela a toujours fonctionné pour moi :

SET CurrentDir="%~dp0"

ECHO The current file path this bat file is executing in is the following:

ECHO %CurrentDir%

Pause

34voto

Stephen Curial Points 1005

Sur Unix ?

pwd

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