中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [请教]参数传递 上一主题 | 下一主题
apareon
新手上路





积分 9
发帖 7
注册 2007-8-16
状态 离线
『楼 主』:  [请教]参数传递

DOS命令中可以传递参数,但对这个传递的参数格式有些不太理解,参考了官方的解释,但看不太明白,请教各位大侠能解释下,谢谢!

官方解释
%(可替换参数)
可替换参数 %0 和 %1 到 %9 可以放在批文件的任何位置。批处理文件运行时,%0 由批处理文件名替换,并且参数变量 %1 到 %9 由命令行上输入的相应参数替换。

% 参数扩展了批处理脚本参数变量 (%0, %1, ..., %9),如下所示:

批处理脚本中的 %* 是引用所有参数的通配符。对于单个参数变量,扩展选项如下表所述。
变量                  描述
%~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 的输出行


参考官方解释,是不是可以这样理解
针对每个单个参数变量,可以自己组合成多个参数?
比如 使用这样的参数%~dpnx1 将 %1的传递参数扩展为盘符+路径+文件名+扩展名?
请教各位大侠,谢谢!

问这个问题是因为使用Xcopy复制文件时,提示目标是文件名,还是目录名

[ Last edited by apareon on 2009-11-26 at 21:31 ]

2009-11-26 21:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wo1234
新手上路





积分 18
发帖 17
注册 2009-5-14
状态 离线
『第 2 楼』:  

这个不难理解吧  有教学贴的 找找置顶帖

2009-11-27 13:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: