批处理路径扩展

%~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径、目录

cd是转到这个目录,不过我觉得cd /d %~dp0还好些

选项语法:

~0 -删除任何引号("),扩充%0
%~f0 -将%0扩充到一个完全合格的路径名(“f”是file,即文件)
%~d0 -仅将%0扩充到一个驱动器号
%~p0 -仅将%0扩充到一个路径
%~n0 -仅将%0扩充到一个文件名(“n”是name文件名)
%~x0 -仅将%0扩充到一个文件扩展名
%~s0 -扩充的路径只含有短名(“s”为Short,短的)
%~a0 -将%0扩充到文件的文件属性(“a”为attribute,即属性)
%~t0 -将%0扩充到文件的日期/时间(“t”time)
%~z0 -将%0扩充到文件的大小(Size大小)
%~$PATH:0 -查找列在路径环境变量的目录,并将%0扩充

到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串

可以组合修饰符来得到多重结果:

%~dp0 -仅将%0扩充到一个驱动器号和路径
%~nx0 -仅将%0扩充到一个文件名和扩展名
%~fs0 -仅将%0扩充到一个带有短名的完整路径名
%~dp$PATH:0 -查找列在路径环境变量的目录,并将%I扩充

到找到的第一个驱动器号和路径。

%~ftza0 -将%0扩充到类似输出线路的DIR
%0为当前批处理文件

如果0换成1为第一个文件,2为第2个


%0代指批处理文件自身
%~d0是指批处理所在的盘符
%~dp0是盘符加路径
cd %~dp0就是进入批处理所在目录

内容来源:
http://tomhibolu.iteye.com/blog/1215863