本章将介绍批处理程序中怎样传递参数,接收参数。批处理程序中可引用的参数为 %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)如果使用的某个参数没有传递进来,则该变量为空。