Existe-t-il une commande/un outil permettant de parcourir le répertoire précédent dans l'invite de commande de Windows?
Sous Linux, utilisez habituellement
cd -
pour la navigation précédente dans le répertoire.
Enregistrez les éléments suivants dans, par exemple. mycd.bat
quelque part dans votre chemin:
@echo off
if '%*'=='' cd & exit /b
if '%*'=='-' (
cd /d %OLDPWD%
set OLDPWD=%cd%
) else (
cd /d %*
if not errorlevel 1 set OLDPWD=%cd%
)
Pensez toujours à utiliser mycd
au lieu de cd
pour modifier les répertoires et les lecteurs.
Sinon, utilisez une macro doskey
:
C:\>doskey cd=mycd $*
Le seul inconvénient est que si vous omettez l'espace entre cd
et ..
ou \
, vous obtiendrez la version intégrée de cd
et non la macro doskey
... et vous devez toujours vous rappeler de ne pas utiliser C:
, D:
, etc. pour changer de lecteur.
Vous pouvez utiliser pushd et popd:
C:\WINDOWS> pushd\ C: \> popd C:\WINDOWS>
si vous utilisez le fichier de commandes, vous pouvez utiliser
cd /D %~dp0
Cela vous ramènera au chemin d'origine à partir duquel le fichier de commandes a été exécuté.
Si vous voulez le comportement exact de bash, pourquoi ne pas utiliser bash? J'ai cygwin installé et c'est très agréable. Cela ne vous oblige pas à vous en tenir à ses outils UNIX - il appellera volontiers tous les exécutables Windows. Pour cmd.exe
, vous pouvez créer un alias:
hugh@comp07 ~/testdir
$ alias cm='cmd /c'
hugh@comp07 ~/testdir
$ cm dir
Volume in drive C has no label.
Volume Serial Number is AC2A-8378
Directory of C:\cygwin\home\hugh\testdir
18/05/2010 02:02 PM <DIR> .
18/05/2010 02:02 PM <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 1,365,155,840 bytes free
hugh@comp07 ~/testdir
$
Il existe un clone gratuit cmd
avec des fonctionnalités supplémentaires, dont cd -
appelé Prenez Command Console LE .
En fonction de votre objectif, vous pouvez simplement démarrer une nouvelle session cmd en effectuant "cmd", déplacer un répertoire et faire ce que vous voulez. Lorsque vous quittez cette session, vous quittez la session et vous revenez dans le répertoire où vous étiez. vous avez commencé la nouvelle session.
La réponse acceptée est très bonne pour l'exigence. Bien que je doive souvent basculer entre plusieurs annuaires récents au lieu de seulement deux (actuel et précédent).
J'ai donc récemment fabriqué un lot pour faciliter mes tâches quotidiennes. https://Gist.github.com/programus/2d2738b2a746140186f7738b678bdcec
Ce que je fais c'est
rem capture the path of the initial dir
set RET_DIR=%CD%
rem do stuff...
rem and then return to the initial dir
cd %RET_DIR%