随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

批处理命令PUSHD和POPD[通俗易懂]-风君雪科技博客

PUSHD:

语法:

      PUSHD [path | ..]

Path

        指定当前目录更改后的目录。该命令支持相对路径。

/?

      在命令提示符下显示帮助。

         

 POPD

语法

      popd

参数

     /?

      在命令提示符下显示帮助。

注释

          每次使用 pushd 命令时,都存储一个目录供用户使用。但是,可以通过多次使用 pushd 命令存储多个目录。

         目录按顺序储存到一个虚拟堆栈中。如果第一次使用 pushd 命令,该命令所在的目录就会被置于栈底。如果您再次使用该命令,则第二个目录就会被置于第一个目录之上。每次使用 pushd 命令时都将重复该过程。

        可以用 popd 命令将当前目录更改为由 pushd 命令最新存储的目录。如果使用 popd 命令,位于堆栈顶端的目录将从堆栈中删除,当前目录转变为栈顶目录。如果再次使用 popd 命令,则删除堆栈中的下一个目录。

        如果启用了命令扩展,pushd 命令将接收网络路径或本地驱动器盘符和路径。

        如果指定网络路径,pushd 命令临时将第一个未使用的驱动器盘符(从 Z 开始)分配到指定的网络资源。然后命令将当前驱动器和目录更改为新分配驱动器上的指定目录。如果与已启用的命令扩展一起使用 popd 命令,popd 命令将删除由 pushd 创建的驱动器盘符分配。

示例

 1、例1

PUSHD %~dp0

       %~dp0 是对%0的扩展,d是drive,也就是盘符,p是路径,所以%~dp0是指批处理所在的路径(包括盘符)。pushd是设定工作目录。所以 PUSHD %~dp0 就是设定批处理所在的目录为工作目录

 2、例2

 PUSHD  “%~dp0test”

      “%~dp0test”也就是批处理所在目录下test目录,所以 PUSHD %~dp0test就是设定批处理所在的目录下的test目录为工作目录

3、例3

pushd 绝对路径(也就是你要调用的那个批处理程序的目录)..

call xxx.bat

popd..