批处理命令%~dp0详解
批处理命令%~dp0是什么意思
拆分解析
%0:批处理文件本身
~dp是变量扩充
d既是扩充到分区号
p就是扩充到路径
%~d0 - 仅将 %0扩充到一个驱动器号
%~p1 - 仅将 %0 扩充到一个路径
例子
假设一个批处理文件a.bat 存放在:F:\bat_test\a
内容为:rd /s /q %~dp0…\b\b_test\
运行a.bat h后b_test 文件夹被删除
rd: 删除文件
/s 表示除目bai录本身外,还将删除指定du目录下的所有子目录和文件。用于删除目录树。
/q 表示安静模式,带/s 删除目录树时不要求确认
故这个命令等同于: rd /s /q F:\bat_test\b\b_test
a.bat 存放在:F:\bat_test\a
这里的:%~dp0 == F:\bat_test\