Bat脚本中%cd%和%~dp0的区别

2025-09-23 00:52:51

1、使用范围:

%cd%:批处理脚本(bat脚本)、命令行窗口

%~dp0:批处理脚本(bat脚本)

Bat脚本中%cd%和%~dp0的区别

2、bat脚本执行时,两者代表的值是否会变化:

%cd%:会。因为代表的是当前目录

%~dp0:不会。因为代表的是脚本文件在磁盘的位置

3、示例脚本内容:

cd-dp0.bat

@echo off

echo this is %%cd%% : %cd%

echo this is %%~dp0 : %~dp0

Bat脚本中%cd%和%~dp0的区别

4、(1)在C:\Users\Administrator执行脚本

C:\Users\Administrator>f:\cd-dp0.bat

执行结果:

this is %cd% : C:\Users\Administrator

this is %~dp0 : f:\

Bat脚本中%cd%和%~dp0的区别

5、(2)在F:\执行脚本

F:\>cd-dp0.bat

执行结果:

this is %cd% : F:\

this is %~dp0 : F:\

Bat脚本中%cd%和%~dp0的区别

6、%dp0在bat脚本中的一个常用例子:

run.bat:

@echo off

setlocal ENABLEDELAYEDEXPANSION

set CP=.;JavaStudy.jar

FOR %%j IN (%~dp0lib\*.jar) DO set CP=!CP!;%%j

echo %CP%

java -cp %CP% frame.App

Bat脚本中%cd%和%~dp0的区别

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢