batch中%~dp0 是什么意思

在命令行中调用 for /? 可以获取关于此语法的帮助(该语法不仅可以在 FOR 循环中使用,在其他地方也可以使用,这里只是提供帮助信息的地方)。此外,对 FOR 变量引用的替换功能也得到了增强。现在可以使用以下可选语法:

%~I          - 展开 %I 并移除任何包围的引号 ("")
%~fI         - 将 %I 展开为完全限定的路径名
%~dI         - 将 %I 展开为仅驱动器字母
%~pI         - 将 %I 展开为仅路径
%~nI         - 将 %I 展开为仅文件名
%~xI         - 将 %I 展开为仅文件扩展名
%~sI         - 展开的路径只包含短名称
%~aI         - 将 %I 展开为文件属性
%~tI         - 将 %I 展开为文件的日期/时间
%~zI         - 将 %I 展开为文件大小
%~$PATH:I    - 在 PATH 环境变量列出的目录中搜索,并将 %I 展开为找到的第一个完全限定名称。如果环境变量未定义或文件未被找到,则此修饰符展开为空字符串

这些修饰符可以组合使用以获得复合结果:

%~dpI        - 将 %I 展开为仅驱动器字母和路径
%~nxI        - 将 %I 展开为仅文件名和扩展名
%~fsI        - 将 %I 展开为仅含短名称的完整路径名
%~dp$PATH:I  - 在 PATH 环境变量列出的目录中搜索 %I,并将其展开为找到的第一个驱动器字母和路径
%~ftzaI      - 将 %I 展开为类似 DIR 输出的行

在上述示例中,%IPATH 可以替换为其他有效值。%~ 语法由有效的 FOR 变量名终止。选择大写的变量名如 %I 可使其更易读,并避免与不区分大小写的修饰符混淆。

你可以使用不同的字母,例如 f 表示“完整路径名”,d 表示驱动器字母,p 表示路径,它们可以组合使用。%~ 是每个序列的开始,数字 I 表示它作用于参数 %I(其中 %0 是批处理文件的完整名称,正如你所假设的那样)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李星星BruceL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值