%cd%和%~dp0在bat脚本中出现的频率比较高,两者有相似,也有不同,稍不留神就会出错。本文通过示例来解析两者的不同
工具/原料
windows
bat
方法/步骤
1、使用范围:%cd%:批处理脚本(bat脚本)、命令行窗口%~dp0:批处理脚本(bat脚本)
2、bat脚本执行时,两者代表的值是否会变化:%cd%:会。因为代表的是当前目录%~dp0:不会。因为代表的是脚本文件在磁盘的位置
3、示例脚本内容:cd-dp0.bat@echooffechothisis%%cd%%:%cd%echothisis%%~dp0:%~dp0
4、(1)在C:\Us娣定撰钠ers\Administrator执行脚本C:\Users\Administrator&g墉掠载牿t;f:\cd-dp0.bat执行结果:thisis%cd%:C:\Users\Administratorthisis%~dp0:f:\
5、(2)在F:\执行脚本F:\>cd-dp0.bat执行结果:thisis%cd%:F:\thisis%~dp0:F:\
6、%dp0在bat脚本中的一个常用例子:run.bat:@echooffse隋茚粟胫tlocalENABLEDELAYEDEXPANSIONse墉掠载牿tCP=.;JavaStudy.jarFOR%%jIN(%~dp0lib\*.jar)DOsetCP=!CP!;%%jecho%CP%java-cp%CP%frame.App