`
izuoyan
  • 浏览: 8951903 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

批处理参数(%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%

分享到:
评论

相关推荐

    如何编写批处理文件批处理文件批处理文件

    参数替代默认解析操作。这个带引号的字符串包括一个或多个 指定不同解析选项的关键字。这些关键字为: eol=c - 指一个行注释字符的结尾(就一个) skip=n - 指在文件开始时忽略的行数。 delims=xxx - 指分隔符集。这...

    BCP详细参数.txt

    使用此参数替代默认字段终止符。 -r row_term 指定行终止符。默认的行终止符是 \n(换行符)。使用此参数替代默认行终止符。 -i input_file 指定响应文件的名称,使用交互模式(未指定 –n、-c、-w、-6 或 -N)...

    Dos命令大全

    参数替代默认解析操作。这个带引号的字符串包括一个或多个 指定不同解析选项的关键字。这些关键字为: eol=c - 指一个行注释字符的结尾(就一个) skip=n - 指在文件开始时忽略的行数。 delims=xxx - 指分隔符集。这个...

    rar压缩软件.rar

    RAR 将使用这个字符串作为命令行的默认参数,并将使用 1024KB 字典大小来创建 “固实”压缩文件。 RAR 控制选项使用下列优先级: 命名行开关 最高优先级 在 RAR 变量中的开关 低优先级 保存在配置文件中的...

    微软活动目录管理管理简明手册

    1.什么是活动目录" D1 N0 ~3 _ J$ B0 p 8 m s, [* {) i) n6 f4 s 活动目录是Windows 2000网络中的目录服务。目录服务是一种网络服务,它存储关于网络资源的信息,并使用户或应用程序可以访问这些资源。活动目录使用...

    WinRAR_4.0.exe

    RAR 将使用这个字符串作为命令行的默认参数,并将使用 1024KB 字典大小来创建 “固实”压缩文件。 RAR 控制选项使用下列优先级: 命名行开关 最高优先级 在 RAR 变量中的开关 低优先级 保存在配置文件中的...

    powerbuilder

    由于PowerBuilder使用数值0(即ASCII码为0的字符)结束每个字符串,因此,如果打印控制序列中包含了数值0,应用程序需要使用其它字符在参数string中替代数值0,并用zerochar参数指明这个替代字符。一般来说,应该...

    中文简体压缩软件RAR 6.0

    损坏数据部分是连续的,而且少于N*512字节(N 处是放入压缩文件恢复块 的数字),则成功恢复压缩文件的机会非常高。当这个阶段完成,一个新的 压缩文件将被创建,名为_RECOVER.RAR。 如果损坏的压缩文件不包含...

    网管教程 从入门到精通软件篇.txt

    它将替代默认的驱动器(即用户登录的系统分区)。例如,驱动器:D:  范例  下列命令范例向驱动器 D: 的系统分区写入新的分区引导扇区:  fixboot d:  注意: 如果不带任何参数,fixboot 命令将向用户登录的...

    入门学习Linux常用必会60个命令实例详解doc/txt

    -d: 不把记录写到/var/log/wtmp文件里(-n这个参数包含了-d)。 -i: 在重开机之前先把所有与网络相关的装置停止。 install 1.作用 install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。 ...

    windows xp,vista,win7启动修复;自动修复XP/VISTA/WIN7系统引导

    宁愿转N圈装个.net再装EasyBCD来处理,所以改用工具替代手工处理,这个工具包含了多年我解决微软多系统问题 的不少经验。 六、工具能不能不全自动而改用手工选择是否修复:现在暂时不想这样做,因为手工选择的话...

    数据库灾难性恢复(数据库技术;灾难性;恢复;数据备份)

    简单备份适合于只读数据库或由能轻松重新创建的批处理作业填充的数据库,或者在备份之间不必维护数据库更改的情况下。 表 1.简单备份的优缺点 优点: 缺点: 保护级别: 数据库备份可以转移到外部位置,以...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    类型 参数 描述 字符类型 char 1~2000字节 固定长度字符串,长度不够的用空格补充 varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number...

Global site tag (gtag.js) - Google Analytics