标题: [请教]参数传递
[打印本页]
作者: apareon
时间: 2009-11-26 21:11
标题: [请教]参数传递
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 ]
作者: wo1234
时间: 2009-11-27 13:46
这个不难理解吧 有教学贴的 找找置顶帖