在WINDOWS下dos与批处理中的命令cd /d %~dp0及其用途

 更新时间:2023年05月21日 08:32:14   投稿:mdxy-dxy  
这篇文章主要介绍了在WINDOWS下dos与批处理中的命令cd /d %~dp0及其用途,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

有人可以帮我理解命令cd /d %~dp0及其用途。 再次dos命令如下

cd /d %~dp0

请帮我弄清楚它的含义。

我们来剖析一下。 有三个部分:

  1. cd – 这是更改目录命令。
  2. /d – 这个开关让cd改变驱动器和目录。 没有它,你将不得不做cd %~d0 & cd %~p0
  3. %~dp0 – 这可以进一步分为三个部分:
    1. %0 – 这表示批处理脚本的第零个参数。 它扩展到batch file本身的名称。
    2. %~0 – 在那里解开扩展参数的双引号( " )。
    3. %dp0dp有扩展的修饰符。 d强制添加一个驱动器号并添加完整path。

见for /? 更多细节

批处理文件中的一条语句意思是更改当前目录为批处理本身的目录

有些晕吧?不急,我举例

比如你有个批处理a.bat在D:\jb51文件夹下
a.bat内容为

cd /d %~dp0

在这里

cd /d 注解:
(通常情况下,我们要进入其他盘符下的任意目录,需要在CMD窗口运行两次命令:第一次,进入盘符,第二次进入指定目录
#进入D盘
d:
#进入D盘下的test目录
cd jb51

通过使用CD命令,并加入参数 /d ,可以通过一个步骤,直接进入指定盘符下的任意文件夹。

#一个步骤进入D盘下的test目录
cd /d d:\jb51

cd /d %~dp0的意思就是cd /d d:\jb51
%0代表批处理本身 d:\jb51\a.bat
~dp是变量扩充
d既是扩充到分区号 d:
p就是扩充到路径 \jb51
dp就是扩充到分区号路径 d:\jb51

到此这篇关于在WINDOWS下dos与批处理中的命令cd /d %~dp0及其用途的文章就介绍到这了,更多相关CD /D%?DP0内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

最新评论

?


http://www.vxiaotou.com