Windows批处理中的路径操作符 (percent tilde %~)

  |   0 评论   |   1,020 浏览

  1. 需要先知道的是

    批处理传入的命令行参数以%1~%9表示,且%0表示批处理文件本身。

  2. 常见做法

    1. cd /d %~dp0​切换当前目录到批处理文件所在的目录。
    2. xxx -i %1 -o "%~dp1%~n1_out%~x1"​使用xxx​命令处理参数1指定的文件,并输出到同一目录下文件名附加_out​,不改变输出文件的后缀名。
  3. 解释

    Windows批处理中的%~​可以作用于变量名为单个字母/数字的表示路径的字符串变量

    1. 功能1:分割路径,输出路径的各个部分。处理过后的字符串默认不包含前后双引号。而%~​后面紧跟的字符则决定了要提取路径字符串的哪一部分。
    2. 功能2:获取关于该文件的一些信息。
  4. 速查表

    假定有变量%F = "d:\abc\efg.txt"​,则有:

    命令 解释 输出
    %~F 输出不带引号的路径字符串 d:\abc\efg.txt
    %~dF 输出驱动器符 d:
    %~pF 输出文件夹路径,不包括驱动器符 \abc\
    %~nF 输出文件名,不包括扩展符 efg
    %~xF 输出扩展名 .txt
    %~aF 输出文件属性 --a------
    %~tF 输出最后修改时间,输出格式与系统区域设置一致 2023/06/28 08:46
    %~zF 输出文件大小,以字节计 151040
    %~sF (极少使用)输出8.3格式的路径名

    其中dpnxs​可以组合使用,例如上面的%~dp0​,常用的还有%~nx​等。

    所以不难理解%~dp1%~n1_out%~x1​:%~dp1​为参数1的驱动器符和路径,%~n1​为参数1的文件名部分,_out​为普通的字符串,%~x1​为参数1的文件扩展名。

    注意:这个%~​只能用于变量名为单个字母/数字的变量。

    注意:这个%~​只能用于变量名为单个字母/数字的变量。

    注意:这个%~​只能用于变量名为单个字母/数字的变量。


标题:Windows批处理中的路径操作符 (percent tilde %~)
作者:joyqat
地址:https://joyqat.top/articles/2023/06/28/1687937186867.html

评论

发表评论


取消