可以使用的批处理参数集合
2007-09-06 11:19
267 查看
可以在批处理文件内的任何地方使用批处理参数,以提取有关环境设置的信息。
Cmd.exe 提供批处理参数扩展变量(%0 到 %9)。当在批处理文件中使用批处理参数时,%0 将由批处理文件名替换,而 %1 到 %9 将由在命令行键入的相应参数替换。要访问大于 %9 的参数,必须使用 shift 命令。有关 Shift 命令的详细信息,请参阅 Shift。%* 批处理参数是所有参数(不包括 %0)可引用的通配符,这些参数传递到批处理文件中。
例如,要将 Folder1 中的内容复制到 Folder2,其中 %1 和 %2 将分别由值 Folder1 和 Folder2 替换,请在批处理文件 Mybatch.bat 中键入如下内容:
xcopy %1\*.* %2
要运行该文件,请键入:
mybatch.bat C:\folder1 D:\folder2
这与在批处理文件中键入如下内容是等效的:
xcopy C:\folder1 \*.* D:\folder2
也可以在批处理参数中使用编辑符。编辑符使用当前的驱动器和目录信息将批处理参数扩展为部分或完整的文件或目录名。要使用编辑符,请键入百分号 (%) 字符,后面是波形符号 (~) 字符,然后键入合适的编辑符(即 %~modifier)。
下表列出了可在扩展中使用的编辑符。
编辑符 说明
%~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 的输出行。
注意
在上面的例子中,可以使用其它批处理参数替换 %1 和 PATH。
%* 编辑符是唯一可代表在批处理文件中传递的所有参数的编辑符。不能将该编辑符与 %~ 编辑符组合使用。%~ 语法必须通过有效的参数值来终止。
不能以与使用环境变量相同的方式使用批处理参数。不能搜索或替换值,或检查子字符串。然而,可以将参数分配给环境变量,然后使用该环境变量。
Cmd.exe 提供批处理参数扩展变量(%0 到 %9)。当在批处理文件中使用批处理参数时,%0 将由批处理文件名替换,而 %1 到 %9 将由在命令行键入的相应参数替换。要访问大于 %9 的参数,必须使用 shift 命令。有关 Shift 命令的详细信息,请参阅 Shift。%* 批处理参数是所有参数(不包括 %0)可引用的通配符,这些参数传递到批处理文件中。
例如,要将 Folder1 中的内容复制到 Folder2,其中 %1 和 %2 将分别由值 Folder1 和 Folder2 替换,请在批处理文件 Mybatch.bat 中键入如下内容:
xcopy %1\*.* %2
要运行该文件,请键入:
mybatch.bat C:\folder1 D:\folder2
这与在批处理文件中键入如下内容是等效的:
xcopy C:\folder1 \*.* D:\folder2
也可以在批处理参数中使用编辑符。编辑符使用当前的驱动器和目录信息将批处理参数扩展为部分或完整的文件或目录名。要使用编辑符,请键入百分号 (%) 字符,后面是波形符号 (~) 字符,然后键入合适的编辑符(即 %~modifier)。
下表列出了可在扩展中使用的编辑符。
编辑符 说明
%~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 的输出行。
注意
在上面的例子中,可以使用其它批处理参数替换 %1 和 PATH。
%* 编辑符是唯一可代表在批处理文件中传递的所有参数的编辑符。不能将该编辑符与 %~ 编辑符组合使用。%~ 语法必须通过有效的参数值来终止。
不能以与使用环境变量相同的方式使用批处理参数。不能搜索或替换值,或检查子字符串。然而,可以将参数分配给环境变量,然后使用该环境变量。
相关文章推荐
- 例题:把一个超市购物的题做成函数。这个题做成函数没有必要,但可以了解输入参数,输出参数,返回值,函数体,还有结构体,ArryList集合,for循环算结果,以及集合里 .count的使用
- shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作
- JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)
- 写批处理必备的一些命令参数使用技巧
- Qt的槽可以使用默认参数
- map集合转成set以后,才可以使用迭代器
- shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作
- 非类型模板参数限制——不可以使用内部链接对象
- 如何在批处理文件中使用参数
- ASP中使用存储过程,遭遇"参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突"错误
- mvc中view与controll之间传递参数时,可以使用url进行传递
- TreeSet集合存放自定义类型的对象,可以使用比较器,实现Comparable接口自己设置排序方式
- UART初始化时可以使用的参数
- IEnumerable 接口---实现该接口里的成员的类,可以使用foreach循环访问集合
- mybatis分页拦截器可以传递参数(可以复制直接使用)
- 使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。
- 使用自定义setTimeout和setInterval使之可以传递参数和对象参数
- 模版模式构建可复用性大集合切片循环,使用java8 lambda去调用可以更加简洁哦
- Qt的槽可以使用默认参数
- 使用WebElements定位多个相似的元素,比如页面中存在五个单选按钮,他们有相同的class属性,值为:myRadio,我们想对五个按钮循环操作,我们可以把它们全部取出来放到集合中,然后做循环操作