批处理 中的 Using the SHIFT Operator

首页 / 批处理入门教程 / 批处理 中的 Using the SHIFT Operator

命令行参数的局限性之一是它只能接受%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的文件中,并且该文件运行为

链接:https://www.learnfk.comhttps://www.learnfk.com/batch-script/batch-script-using-shift-operator.html

来源:LearnFk无涯教程网

test.bat a b c d e f g h i j

然后将是输出。

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的文件中,并且该文件运行为

链接:https://www.learnfk.comhttps://www.learnfk.com/batch-script/batch-script-using-shift-operator.html

来源:LearnFk无涯教程网

test.bat a b c d e f g h i j

然后将是输出。

a 
b
c
d
e
f
h
i
j

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Netty源码剖析与实战 -〔傅健〕

DDD实战课 -〔欧创新〕

MongoDB高手课 -〔唐建法(TJ)〕

TensorFlow 2项目进阶实战 -〔彭靖田〕

Redis核心技术与实战 -〔蒋德钧〕

小马哥讲Spring AOP编程思想 -〔小马哥〕

etcd实战课 -〔唐聪〕

说透数字化转型 -〔付晓岩〕

手把手带你写一个Web框架 -〔叶剑峰〕

好记忆不如烂笔头。留下您的足迹吧 :)