cmd下PUSHD和POPD与%cd%和%~dp0

PUSHD命令

保存当前目录以供 POPD 命令使用,然后改到指定的目录。

PUSHD [path | ..]

path 指定要成为当前目录的目录。

如果命令扩展被启用,除了一般驱动器号和路径,PUSHD 命令还接受网络路径。如果指定了网络路径,PUSHD将创建一个 指向指定网络资源的临时驱动器号,然后再用刚定义的驱动器 号更改当前的驱动器和目录。可以从 Z: 往下分配临时驱动器号,使用找到的第一个没有用过的驱动器号。

POPD命令

更改到 PUSHD 命令存储的目录。

如果命令扩展被启用,从推目录堆栈 POPD 驱动器时,POPD
命令会删除 PUSHD 创建的临时驱动器号。
例如
pushd c:就是记录下c:盘当你转去E:盘后用popd就可以转回c盘


%cd%

%cd% 可以用在批处理文件中,也可以用在命令行中;展开后,是驱动器盘符:+当前目录,如在dos窗口中进入c:\dir目录下面,

输入:echo %cd% ,则显示为:c:\dir 。
%cd%的内容是可以被改变的,其内容为命令的执行路径或批处理文件的执行路径。

%~dp0

%~dp0只可以用在批处理文件中,它是由它所在的批处理文件的目录位置决定的,是批处理文件所在的盘符:+路径。在执行这个批处理文件的过程中,它展开后的内容是不可以改变的。比如在D盘下有个批处理文件,path.bat,其内容为:

@echo off 
echo this is %%cd%% %cd% 
echo this is %%~dp0 %~dp0

在C:\ 和E:\分别下执行它,输出为:

cmd下PUSHD和POPD与%cd%和%~dp0

posted @ 2023-02-27 23:05  zerlong  阅读(1047)  评论(0编辑  收藏  举报