web-dev-qa-db-fra.com

La commande Windows Shell 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 d'accès complet au répertoire de travail actuel?

Aussi, comment puis-je stocker ce chemin dans une variable utilisée dans un fichier de commandes?

188
user62958

Utilisez cd sans argument si vous utilisez directement l'environnement, ou %cd% si vous souhaitez l'utiliser dans un fichier de traitement par lots (il se comporte comme une variable d'environnement).

294
Trevor Bramble

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

SET var=%cd%
ECHO %var%

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

enter image description here

Mise à jour: si vous faites un SET var = %cd% au lieu de SET var=%cd%, ci-dessous c'est ce qui se passe. Merci à jeb.

enter image description here

Capture du répertoire actuel à partir d'un fichier de commandes

89
gmaran23

Citez l'aide de Windows pour la commande set (_set /?_):

 Si les extensions de commande sont activées, plusieurs variables d'environnement dynamiques 
 Peuvent être développées mais ne s'affichent pas dans 
 Dans la liste des variables affichées par SET. Ces valeurs de variable sont 
 Calculées dynamiquement à chaque fois que la valeur de la variable est développée. 
 Si l'utilisateur définit explicitement une variable avec l'un de ces noms, alors 
 Cette définition remplacera la valeur. dynamique décrit ci-dessous: 
 
% CD% - se développe dans la chaîne de répertoire en cours. 
 
% DATE% - se développe à la date du jour en utilisant le même format que la commande DATE . 
 
% TIME% - se développe à l'heure actuelle en utilisant le même format que la commande TIME. 
 
% RANDOM% - se développe en un nombre décimal aléatoire compris entre 0 et 32767 .] 
 
% CMDCMDLINE% - passe à la ligne de commande d'origine qui appelait le processeur de commande 
. 

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

45
Patrick Cuff

Sur Unix?

pwd

25
Stephen Curial

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
13
Fred Scales

Pour Windows, nous pouvons utiliser

cd

et pour Linux

pwd

la commande est là.

12
Nikunj K.

Sous Windows:

CHDIR Affiche le nom du répertoire actuel ou en modifie le répertoire.

Sous Linux:

PWD Affiche le nom du répertoire actuel.

6
Ajay Jayavarapu

Pour Windows, cd seul vous montrera le répertoire de travail actuel.

Pour les systèmes UNIX et Workalike, pwd effectuera la même tâche. Vous pouvez également utiliser la variable $PWD Shell sous certains shells. Je ne sais pas si Windows prend en charge l’obtention du répertoire de travail actuel via une variable Shell ou non.

6
Michael Trausch

Sur la base de la question suivante (stocker les données dans une variable) dans les commentaires de la publication chdir, je parie qu'il veut stocker le chemin actuel pour le restaurer après avoir changé de répertoire.

L'utilisateur d'origine doit consulter "pushd", qui modifie le répertoire et place celui-ci sur une pile pouvant être restaurée avec un "popd". Sur tout shell Windows cmd moderne, c’est la voie à suivre lors de la création de fichiers de commandes.

Si vous avez vraiment besoin de saisir le chemin actuel, les shell cmd modernes ont également une variable% CD% que vous pouvez facilement ranger dans une autre variable pour référence.

4
Mark
@for /f "usebackq" %%x in (`chdir`) do set var=%%x
@echo "The currenct directory is: %var%"

Mais, bien sûr, la réponse de gmaran23 est la plus simple.

2
René Nyffenegger

Créez un fichier .bat sous System32, appelons-le copypath.bat la commande permettant de copier le chemin actuel pourrait être :

echo %cd% | clip

Explication:

%cd% vous donnera le chemin actuel

CLIP

Description:
    Redirects output of command line tools to the Windows clipboard.
    This text output can then be pasted into other programs.

Parameter List:
    /?                  Displays this help message.

Examples:
    DIR | CLIP          Places a copy of the current directory
                        listing into the Windows clipboard.

    CLIP < README.TXT   Places a copy of the text from readme.txt
                        on to the Windows clipboard.

Maintenant, copyclip est disponible de partout.

2
Vishrant

Dans une invite de commande Windows, chdir ou cd imprimera le chemin complet du répertoire de travail actuel dans la console.

Si nous voulons copier le chemin, nous pouvons utiliser: cd | clip.

1
Samrat Debroy