批处理中%~字符的特殊含义

  详细请自行参考: call /?  --(请参考批处理中的call命令)

  %~dp0 含义:当前批处理所在的盘符加路径(不包含文件名)

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

  选项语法:

    ~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  --是盘符加路径

  还有另一篇文章大家可以看下,不是本人写的(我跳)

原文地址:https://www.cnblogs.com/clouds008/p/2536815.html