本章将介绍批处理程序中怎样传递参数,接收参数。批处理程序中可引用的参数为 %0~%9,%0 是指批处理文件的本身,也可以说是一个外部命令;%1~%9是批处理参数,也称形参。下面我们通过简单的实例演示:
@echo off echo param0=%0 echo param1=%1 echo param2=%2 echo param3=%3 echo param4=%4 echo param5=%5 echo param6=%6 echo param7=%7 echo param8=%8 echo param9=%9 pause
将上面脚本保存到 test.bat 文件,然后运行 “test.bat a b c d e f g h i”。运行结果:
C:\Users\Administrator\Desktop\bat> test.bat a b c d e f g h i param0=test.bat param1=a param2=b param3=c param4=d param5=e param6=f param7=g param8=h param9=i 请按任意键继续. . .
上面我们了解到批处理文件中可引用的参数为 %0~%9, %0是指批处理文件的本身;%1~%9 是批处理参数,也称形参;而替换形参的实参若超过了批处理文件中所规定数值(9个)且想在批处理文件中应用这些实参的话,shift 命令可以帮你实现,查看更多shift命令信息。
实例:演示怎样使用 shift 命令接收更多参数。如下:
@echo off 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
将上面脚本保存到 “test.bat”,然后打开 DOS 窗口,运行 “test.bat a b c d e f g h i j k l m n o p q r s t u v w x y z” 命令。运行结果如下:
C:\Users\Administrator\Desktop\bat> test.bat a b c d e f g h i j k l m n o p q r s t u v w x y z a b c d e f g h i b c d e f g h i j c d e f g h i j k c e f g h i j k l c e g h i j k l m c e g i j k l m n c e g i k l m n o c e g i k m n o p c e g i k m o p q c e g i k m o q r 请按任意键继续. . .
(1)如果不借助其他其他命令,批处理做多接收9个额外的参数(%1~%9)。
(2)使用shift命令可以对参数进行偏移,从而取到更多的参数。
(3)如果使用的某个参数没有传递进来,则该变量为空。