命令行参数的局限性之一是它只能接受%9之前的参数,让无涯教程以这个限制为示例。
@echo off echo %1 echo %2 echo %3 echo %4 echo %5 echo %6 echo %7 echo %8 echo %9 echo %10
如果以上代码存储在名为test.bat的文件中,并且该文件运行为
test.bat a b c d e f g h i j
然后将是输出。
链接:https://www.learnfk.comhttps://www.learnfk.com/batch-script/batch-script-using-shift-operator.html
来源:LearnFk无涯教程网
a
b
c
d
e
f
h
i
a0
从上面的输出中可以看到,应该显示为" j"的最终值显示为a0。这是因为没有称为%10的参数。
通过使用SHIFT运算符可以避免此限制。批处理文件处理完第一个参数后,可以将它们移动(只需插入一行,仅使用SHIFT命令即可),导致%1获得值B,%2获得值C等,直到%9,这现在获取值J。继续此过程,直到至少%9为空。
让无涯教程看一个示例,该示例说明如何使用SHIFT运算符克服命令行参数的限制。
@ECHO OFF :Loop IF "%1"=="" GOTO Continue echo %1% SHIFT GOTO Loop :Continue
如果以上代码存储在名为test.bat的文件中,并且该文件运行为
test.bat a b c d e f g h i j
然后将是输出。
链接:https://www.learnfk.comhttps://www.learnfk.com/batch-script/batch-script-using-shift-operator.html
来源:LearnFk无涯教程网
a
b
c
d
e
f
h
i
j
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)