bat脚本简介一之参数设置
test.bat脚本内容如下:
echo a = %0
echo b = %1
echo c = %2
echo d = %3
echo e = %4
echo f = %5
在dos窗口执行如下命令:
G:\testdb>test.bat param1 param2 par3 par4 par5
得到执行结果如下:
G:\testdb>test.bat param1 param2 par3 par4 par5
G:\testdb>echo a = test.bat
a = test.bat
G:\testdb>echo b = param1
b = param1
G:\testdb>echo c = param2
c = param2
G:\testdb>echo d = par3
d = par3
G:\testdb>echo e = par4
e = par4
G:\testdb>echo f = par5
f = par5
如果将test.bat脚本改成如下:
a = %0
b = %1
c = %2
d = %3
e = %4
f = %5
则执行test.bat时将会报错。
G:\testdb>test.bat param1 param2 par3 par4 par5
G:\testdb>a = test.bat
'a' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
G:\testdb>b = param1
'b' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
G:\testdb>c = param2
'c' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
G:\testdb>d = par3
'd' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
G:\testdb>e = par4
'e' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
G:\testdb>f = par5
'f' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
其中%0代表的是文件名本身,%1代表的是第一个参数……%9代表的是第九个参数
将代码修改成如下样子:
echo a = %0
echo b = %1
echo c = %2
echo d = %3
echo e = %4
shift
echo f = %5
G:\testdb>test.bat param1 param2 par3 par4 par5
G:\testdb>echo a = test.bat
a = test.bat
G:\testdb>echo b = param1
b = param1
G:\testdb>echo c = param2
c = param2
G:\testdb>echo d = par3
d = par3
G:\testdb>echo e = par4
e = par4
G:\testdb>shift
G:\testdb>echo f =
f =
G:\testdb>test.bat param1 param2 par3 par4 par5 par6
G:\testdb>echo a = test.bat
a = test.bat
G:\testdb>echo b = param1
b = param1
G:\testdb>echo c = param2
c = param2
G:\testdb>echo d = par3
d = par3
G:\testdb>echo e = par4
e = par4
G:\testdb>shift
G:\testdb>echo f = par6
f = par6
执行的结果如上,这里的shift代表的是参数偏移。原本是par5作为f的值,但是经过shift之后,将par6的值作为f的值了。