Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I return to the previous directory in windows command prompt?

I often want to return to the previous directory I was just in in cmd.exe, but windows does not have the "cd -" functionality of Unix. Also typing cd ../../.. is a lot of typing.

Is there a faster way to go up several directory levels?

And ideally return back afterwards?

like image 909
ggb667 Avatar asked Jan 10 '18 14:01

ggb667


People also ask

How do I go back a directory in command prompt Windows 10?

In the command prompt window, type cd followed by the folder's name you wish to find. This only works for immediate folders straight after the one you're in. If you want to go back one directory, type cd .. to go up a level before typing cd to go back to the original option.

How do I return to the original directory?

cd - returns to the previous directory. If you want to go to home dir specifically, use cd , cd $HOME , or cd ~ .


4 Answers

On Windows CMD, I got used to using pushd and popd. Before changing directory I use pushd . to put the current directory on the stack, and then I use cd to move elsewhere. You can run pushd as often as you like, each time the specified directory goes on the stack. You can then CD to whatever directory, or directories , that you want. It does not matter how many times you run CD. When ready to return , I use popd to return to whatever directory is on top of the stack. This is suitable for simple use cases and is handy, as long as you remember to push a directory on the stack before using CD.

like image 198
mao Avatar answered Oct 23 '22 06:10

mao


Steps:

  1. pushd . (Keep old folder path on the stack)
  2. cd ..\.. (Move to the folder whare you like to)
  3. popd (Pop it from the stack. Meaning, Come back to the old folder)
like image 22
Monir Avatar answered Oct 23 '22 04:10

Monir


this worked for me in powershell

cd ..
like image 5
NEBEZ Avatar answered Oct 23 '22 05:10

NEBEZ


Run cmd.exe using the /k switch and a starting batch file that invokes doskey to use an enhanced versions of the cd command.

Here is a simple batch file to change directories to the first parameter (%1) passed in, and to remember the initial directory by calling pushd %1.

md_autoruns.cmd:

@echo off
cd %1
pushd %1
title aliases active
cls
%SystemRoot%\System32\doskey.exe /macrofile=c:\tools\aliases

We will also need a small helper batch file to remember the directory changes and to ignore changes to the same directory:

mycd.bat:

@echo off
if '%*'=='' cd & exit /b
if '%*'=='-' (
    cd /d %OLDPWD%
    set OLDPWD="%cd%"
) else (
    cd /d %*
    if not errorlevel 1 set OLDPWD="%cd%"
)

And a small aliases file showing what to do to make it all work:

aliases:

cd=C:\tools\mycd.bat $*
cd\=c:\tools\mycd.bat ..
A:=c:\tools\mycd.bat A:
B:=c:\tools\mycd.bat B:
C:=c:\tools\mycd.bat C:
...
Z:=c:\tools\mycd.bat Z:
.=cd
..=c:\tools\mycd.bat ..
...=c:\tools\mycd.bat ..\..
....=c:\tools\mycd.bat ..\..\..
.....=c:\tools\mycd.bat ..\..\..\..
......=c:\tools\mycd.bat ..\..\..\..\..
.......=c:\tools\mycd.bat ..\..\..\..\..\..
........=c:\tools\mycd.bat ..\..\..\..\..\..\..
.........=c:\tools\mycd.bat ..\..\..\..\..\..\..\..
tools=c:\tools\mycd.bat C:\tools
wk=c:\tools\mycd.bat %WORKSPACE%

Now you can go up a directory level by typing ..

Add another . for each level you want to go up.

When you want to go back, type cd - and you will be back where you started.

Aliases to jump to directories like wk or tools (shown above) swiftly take you from location to location, are easy to create, and can really help if you work in the command line frequently.

like image 4
ggb667 Avatar answered Oct 23 '22 06:10

ggb667