Pushd and popd


In computing, pushd and popd are commands used to work with the command line directory stack. They are available on command-line interpreters such as 4DOS, Bash, C shell, tcsh, Hamilton C shell, KornShell, cmd.exe, and PowerShell for operating systems such as DOS, Microsoft Windows, ReactOS, and Unix-like systems.

Overview

The pushd command saves the current working directory in memory so it can be returned to at any time, optionally changing to a new directory. The popd command returns to the path at the top of the directory stack. This directory stack is accessed by the command dirs in Unix or Get-Location -stack in Windows PowerShell.
The first Unix shell to implement a directory stack was Bill Joy's C shell. The syntax for pushing and popping directories is essentially the same as that used now.
Both commands are available in FreeCOM, the command-line interface of FreeDOS.
In Windows PowerShell, pushd is a predefined command alias for the Push-Location cmdlet and popd is a predefined command alias for the Pop-Location cmdlet. Both serve basically the same purpose as the pushd and popd commands.

Syntax

Pushd

pushd
Arguments:
popd

Examples

Unix-like


$ pushd /etc
/etc /usr/ports
$ popd
/usr/ports
$

Microsoft Windows and ReactOS


C:\Users\root>pushd C:\Users
C:\Users>popd
C:\Users\root>

DOS batch file


@echo off
rem This batch file deletes all.txt files in a specified directory
pushd %1
del *.txt
popd
echo All text files deleted in the %1 directory