打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
gflei - ChinaUnix博客 - IT人与你分享快乐生活
windows command shell的批处理参数 (2010-03-12 15:00)
分类: 批处理

原文地址http://203.208.39.132/search?q=cache:onZ_bIl4eXEJ:

windows command shell的处理参数

最近要写windows的处理脚本,但老是对其支持的参数和变量扩展搞得不清楚,终于在xp的帮助文件里找到了详细信息。作为备忘,贴出来。

其中最常用的是
%1 - %9 命令参数
%0 命令路径
%× 所有命令参数
%~dp0 命令所在目录

使用处理参数

可以在处理文件内的任何地方使用处理参数,以提取有关环境设置的信息。

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。
%* 编辑符是唯一可代表在处理文件中传递的所有参数的编辑符。不能将该编辑符与 %~ 编辑符组合使用。%~ 语法必须通过有效的参数值来终止。

不能以与使用环境变量相同的方式使用处理参数。不能搜索或替换值,或检查子字符串。然而,可以将参数分配给环境变量,然后使用该环境变量。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Excel 命令行开关
DOS内部命令和批处理命令列表帮助文件
用户变量与系统变量的区别
遇到“系统找不到指定的路径”问题,用这6种方法,轻松解决故障
JDK环境变量配置
linux怎么设置环境变量
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服