Pushd及popd

pushd 与 popd 是用于操作命令行目录栈的命令。它们在DOS、Microsoft Windows、ReactOS和Unix-like等系统上的4DOS、Bash、C shell、tcsh、Hamilton C shell、KornShell、cmd.exe和PowerShell等命令行解释器中可用。

概览 
pushd命令将当前工作目录存储到内存中，以便随时返回。popd命令返回目录栈顶的路径。此目录栈由Unix命令dirs或 Windows PowerShell的Get-Location -stack访问。

第一个实现目录栈的Unix shell是Bill Joy的C shell。这套Shell下将目录压栈、出栈的语法与现在基本相同。

这两个命令都在FreeCOM——即FreeDOS的命令行界面——可用。

在Windows PowerShell下，pushd 是Push-Locationcmdlet预定义的alias，popd 是Pop-Locationcmdlet预定义的alias。两者与pushd、popd命令功能基本相同。

语法

Pushd 
 pushd [path | ..]

参数：

 可选命令行参数path指定即将成为“当前目录”的目录。如果path被省略，则会使用目录栈顶的路径，产生在两个目录之间切换的效果。

Popd 
 popd

示例

Unix-like 
[user@server /usr/ports] $ pushd /etc
/etc /usr/ports
[user@server /etc] $ popd
/usr/ports
[user@server /usr/ports] $

Microsoft Windows与ReactOS 
C:\Users\root>pushd C:\Users
C:\Users>popd
C:\Users\root>

DOS批处理文件 
@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

另请参阅 

 MS-DOS命令列表
 Unix实用程序列表

参考文献

更多资料

外部链接 

 pushd | Microsoft Docs 
 popd | Microsoft Docs 

内部DOS命令
Windows命令
Windows管理