Commande shell Windows pour obtenir le chemin d'accès complet au répertoire actuel?

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

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

127
demandé sur Peter Mortensen 2009-03-03 22:03:26

14 réponses

Utiliser cd sans arguments, si vous utilisez le shell directement, ou %cd% si vous voulez l'utiliser dans un fichier batch (il se comporte comme une variable d'environnement).

207
répondu Trevor Bramble 2018-09-10 21:37:37

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

SET var=%cd%
ECHO %var%

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

entrez la description de l'image ici

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

entrez la description de l'image ici

Capture le répertoire courant à partir d'un fichier de commandes

69
répondu gmaran23 2016-06-03 03:11:29

Cite L'aide de Windows pour la commande 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 l'%CD% - expands to the current directory string. partie.

39
répondu Patrick Cuff 2016-06-03 03:10:00

Sur Unix?

Pwd

23
répondu Stephen Curial 2009-03-03 19:06:11

Pour Windows, nous pouvons utiliser

cd

Et pour Linux

pwd

La commande est là.

11
répondu Nikunj K. 2016-06-03 03:10:36

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
10
répondu Fred Scales 2013-03-03 00:48:16

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

Pour les systèmes UNIX et workalike, pwd exécutera la même tâche. Vous pouvez également utiliser la variable shell $PWD sous certains shells. Je ne suis pas sûr si Windows prend en charge l'obtention du répertoire de travail actuel via une variable shell ou non.

6
répondu Michael Trausch 2009-03-03 19:10:20

Sur Windows:

CHDIR affiche le nom ou modifie le répertoire courant.

Dans Linux:

PWD Affiche le nom du répertoire courant.

6
répondu Ajay Jayavarapu 2018-09-10 21:38:44

Basé sur la question de suivi (stocker les données dans une variable) dans les commentaires au poste chdir je parie qu'il veut stocker le chemin actuel pour le restaurer après avoir changé les répertoires.

L'utilisateur d'origine devrait regarder "pushd", qui change de répertoire et pousse le répertoire actuel sur une pile qui peut être restaurée avec un"popd". Sur N'importe quel shell Windows CMD moderne, c'est le chemin à parcourir lors de la création de fichiers batch.

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

4
répondu Mark 2009-03-03 19:23:37
@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 facile.

2
répondu René Nyffenegger 2013-07-04 08:30:27

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
répondu Samrat Debroy 2018-09-10 21:39:06

Créez un fichier .bat sous System32, nommons-le copypath.bat la commande pour copier le chemin courant pourrait être :

echo %cd% | clip

Explication:

%cd% va vous donner le chemin d'accès 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 partout.

1
répondu Vishrant 2018-09-12 18:57:38

Sous Windows, tapez cd pour le chemin courant de travail.

Sous Linux, pwd pour le chemin de travail actuel.

-2
répondu Shafeer khan 2018-09-10 21:39:41

Il existe deux méthodes simples et elles impliquent toutes deux le module "os". Vous pouvez utiliser:

os.system("cd")

Ou

print(os.getcwd())
-2
répondu DJ PC 2018-09-12 08:33:40