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

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

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

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

是批处理文件所在的盘符:+路径.
 
在C:\Users\xx\Desktop\tmp目录下有脚本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直接切换更方便,在批处理文件找那个很方便。

猜你喜欢

转载自www.cnblogs.com/fushuixin/p/10227388.html
cd