zoukankan      html  css  js  c++  java
  • 批处理参数(%n)的替代

    选项语法:

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

    可以组合修定符来取得多重结果:

        %~dp1       - 只将 %1 扩展到驱动器号和路径
        %~nx1       - 只将 %1 扩展到文件名和扩展名
        %~dp$PATH:1 - 在列在 PATH 环境变量中的目录里查找 %1,
                       并扩展到找到的第一个文件的驱动器号和路径。
        %~ftza1     - 将 %1 扩展到类似 DIR 的输出行。


     使用示例:

     创建一个bat文件(expand_path.bat),内容:
    @echo "%~1"
    @echo "%~f1"
    @echo "%~d1"
    @echo "%~p1"
    @echo "%~n1"
    @echo "%~x1"
    @echo "%~s1"
    @echo "%~a1"
    @echo "%~dps1%~nx1"
    pause

    然后使用命令
    expand_path  "C:/Program Files/Internet Explorer/Iexporter.exe"
    得出:
    "C:/Program Files/Internet Explorer/Iexporter.exe"
    "C:/Program Files/Internet Explorer/Iexporter.exe"
    "C:"
    "/Program Files/Internet Explorer/"
    "Iexporter"
    ".exe"
    "C:/PROGRA~1/INTERN~1/Iexporter.exe"
    ""
    "C:/PROGRA~1/INTERN~1/Iexporter.exe"


    可以简单地使用这些组合来批出自己想要的一些路径。

    另外一个例子:

    ----------------DoBind.bat------------------------------

    :将当前文件夹下的所有xsd文件转换为C++代码文件
    @for /r "%cd%" %%i in (*.xsd) do @echo "%%i" && @xmlbind "%%i" "%cd%"

    -------------- Bindxml.bat------------------

    ::将参数1指定的xsd文件转换为C++代码文件

    :进入参数文件所在的路径
    cd "%~dps1"
    %~d1

    :"%~dps1%~nx1"  --output-dir "%~dps1"  %temp%/

    :拷贝到temp后进行处理,原因是xsd不支持中文路径
    copy "%1" "%temp%"

    :取参数文件名的文件名,调用xsd来转换
    xsd cxx-tree --generate-serialization --hxx-suffix .h --ixx-suffix .inl --cxx-suffix .cpp --generate-ostream --

    generate-doxygen --generate-comparison  --generate-default-ctor "%temp/%~nx1"

    :copy "%temp%%~n1.h" %cd%
    :copy "%temp%%~n1.cpp" %cd%

  • 相关阅读:
    LeetCode 43. 字符串相乘(Multiply Strings)
    LeetCode 541. 反转字符串 II(Reverse String II)
    枚举类型
    c#字母加密
    汇率兑换Python
    冒泡排序c#
    c#
    HTML
    日历
    Java2
  • 原文地址:https://www.cnblogs.com/k1988/p/2165662.html
Copyright © 2011-2022 走看看