批处理命令行参数和For参数

批处理命令行参数

批处理文件中可引用的参数为%0~%9, %0是指批处理文件的本身,也可以说是一个外部命令;%1~%9是批处理参数,也称形参;而替换形参的实参若超过了批处理文件中所规定数值(9个)且想在批处理文件中应用这些实参的话,可以用shift命令,或者%*,(%*表示的是除了%0以外的所有参数(包括第⑨个以后的))。!

 批参数(%n)的替代已被增强。您可以使用以下语法:
            %~1           - 删除引号(\"),扩充 %1(很有用)
            %~f1          - 将 %1 扩充到一个完全合格的路径名
            %~d1          - 仅将 %1 扩充到一个驱动器号
            %~p1          - 仅将 %1 扩充到一个路径
            %~n1          - 仅将 %1 扩充到一个文件名
            %~x1          - 仅将 %1 扩充到一个文件扩展名
            %~s1          - 扩充的路径指含有短名
            %~a1          - 将 %1 扩充到文件属性
            %~t1          - 将 %1 扩充到文件的日期/时间
            %~z1          - 将 %1 扩充到文件的大小
            %~$PATH : 1 - 查找列在 PATH 环境变量的目录,并将 > %1扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串


 可以组合修定符来取得多重结果:
            %~dp1         - 只将 %1 扩展到驱动器号和路径
            %~nx1         - 只将 %1 扩展到文件名和扩展名
            %~dp$PATH:1   - 在 PATH 环境变量中的目录里查找 %1,并扩展到找到的第一个文件的驱动器号和路径。
            %~ftza1       - 将 %1 扩展到类似 DIR 的输出行。

批处理FOR命令

for详解
变量修改

%~I         - 将 %I 去掉变量两边的双引号 (")
%~fI        - 将 %I 转换到路径全称
%~dI        - 将 %I 转换到盘符名
%~pI        - 将 %I 转换到路径
%~nI        - 将 %I 转换到文件名
%~xI        - 将 %I 转换到后缀名
%~sI        - 将 %I 转换到短路径名
%~aI        - 将 %I 转换到文件属性
%~tI        - 将 %I 转换到文件日期
%~zI        - 将 %I 转换到文件大小
%~$PATH:I   - 查找搜索路径并补全到 %I

文章标题:批处理命令行参数和For参数

文章字数:1247

本文作者:Mickir

发布时间:2017-12-20

最后更新:2017-12-20

原始链接: https://mickir.me/blog/bat-file-argv.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。