%cd% 和%~dp0%的区别及cd跨盘符切换路径问题

Posted fushuixin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了%cd% 和%~dp0%的区别及cd跨盘符切换路径问题相关的知识,希望对你有一定的参考价值。

在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0。

(1)%cd%的内容是可以被改变的,其内容为命令的执行路径或批处理文件的执行路径。

(2)%~dp0只可以用在批处理文件中,它是由它所在的批处理文件的目录位置决定的,

是批处理文件所在的盘符:+路径.
 
在C:UsersxxDesktop mp目录下有脚本cdTest.bat
@echo off     
echo this is %%cd%%  %cd%     
echo this is %%~dp0 %~dp0   

echo switch to another folder:
cd /d D:aQproject
echo this is %%cd%%  %cd%     
echo this is %%~dp0 %~dp0 

pause

在tmp目录中执行cdTest.bat脚本结果如下

技术分享图片

在d盘执行cdTest.bat脚本结果如下

技术分享图片

可以看到执行脚本的路径不一样,%cd%不一样;脚本中通过cd /d切换到别的路径,得到的环境变量%cd%的值也不一样。

 

PS:上面实例中用的是cd  /d能够直接跨盘符切换,脚本在c盘切换到d盘中。直接cd +别的盘符路径是不能切换的,要通过先输入d:(盘符)切换到所要去盘符,cd +路径实现切换。可以看出cd  /d直接切换更方便,在批处理文件找那个很方便。

以上是关于%cd% 和%~dp0%的区别及cd跨盘符切换路径问题的主要内容,如果未能解决你的问题,请参考以下文章

DOS批处理中%cd%和%~dp0的区别

DOS批处理中%cd%和%~dp0的区别

DOS批处理中%cd%和%~dp0的区别

bat获取当前路径

Java基础

自学习Java的第二天