命令行传递给批处理的参数

命令行传递给批处理的参数


%0 批处理文件本身
%1 第一个参数
%9 第九个参数
%* 从第一个参数开始的所有参数


批参数(%n)的替代已被增强。您可以使用以下语法:
      %~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 的输出行。

 

 

SHIFT

批处理文件中可引用的参数为%0~%9, %0是指批处理文件的本身,也可以说是一个外部命令;%1~%9是批处理参数,也称形参;而替换形参的实参若超过了批处理文件中所规定数值(9个)且想在批处理文件中应用这些实参的话,shift命令可以帮你实现!

Shift 命令:更改批处理文件中可替换参数的位置
 
 

shift [/n]

n 的取值是[0,8],且为整数;[/n]为可选参数,当赋予n某个值时,就意味着命令从第n个参数开始移位;当n赋予的值为0,1或不带有任何命令选项的 shift时,则表示批处理文件中替换参数左移一个位置,后面的替换参数陆续填补上去,直至可替换参数为空。


eg:
创建批处理文件d:\test.bat;

@echo off  
cls  
echo  %1 %2 %3 %4 %5 %6 %7 %8 %9  
shift /0  
echo  %1 %2 %3 %4 %5 %6 %7 %8 %9  
shift /1  
echo  %1 %2 %3 %4 %5 %6 %7 %8 %9  
shift /2  
echo  %1 %2 %3 %4 %5 %6 %7 %8 %9  
shift /3  
echo  %1 %2 %3 %4 %5 %6 %7 %8 %9  
shift /4  
echo  %1 %2 %3 %4 %5 %6 %7 %8 %9  
shift /5  
echo  %1 %2 %3 %4 %5 %6 %7 %8 %9  
shift /6  
echo  %1 %2 %3 %4 %5 %6 %7 %8 %9  
shift /7  
echo  %1 %2 %3 %4 %5 %6 %7 %8 %9  
shift /8  
echo  %1 %2 %3 %4 %5 %6 %7 %8 %9  
pause 1>nul  

然后在命令提示符d:\下输入test 1 2 3 4 ......17显示执行结果,就知晓其中的规律啦!

D:\>test 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17  
  
1 2 3 4 5 6 7 8 9  
2 3 4 5 6 7 8 9 10
3 4 5 6 7 8 9 10 11  
3 5 6 7 8 9 10 11 12  
3 5 7 8 9 10 11 12 13  
3 5 7 9 10 11 12 13 14  
3 5 7 9 11 12 13 14 15  
3 5 7 9 11 13 14 15 16  
3 5 7 9 11 13 15 16 17  
3 5 7 9 11 13 15 17 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值