Question

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?

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

Était-ce utile?

La solution

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

Autres conseils

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

SET var=%cd%
ECHO %var%

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

entrer la description de l'image ici

Mise à jour: si vous effectuez un SET var =% cd% au lieu de SET var =% cd% , voici ce qui se passe. Merci à jeb.

entrer la description de l'image ici

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

Citez 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 le % CD% - se développe dans la chaîne de répertoire en cours. partie.

Sous Unix?

pwd

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

Pour Windows, nous pouvons utiliser

cd

et pour Linux

pwd

la commande est là.

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 shell $ PWD 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.

Sous Windows:

CHDIR : affiche le nom du répertoire actuel ou modifie celui-ci.

Sous Linux:

PWD affiche le nom du répertoire en cours.

Sur la base de la question suivante (stocker les données dans une variable) dans les commentaires du message chdir, je parie qu'il veut stocker le chemin actuel pour le restaurer après la modification des répertoires.

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

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

@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 bien plus simple.

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 indiquera 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.

Le copyclip est maintenant disponible partout.

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

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

Sous Windows, tapez cd pour le chemin d'accès actuel.

Sous Linux, pwd pour le chemin de travail actuel.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top