首页 > 其他分享 >无涯教程-批处理 - 数组

无涯教程-批处理 - 数组

时间:2023-11-05 14:32:10浏览次数:36  
标签:教程 set 批处理 无涯 echo %% 数组 array element

数组在批处理脚本中没有明确定义为一种类型,但可以实现,在批处理脚本中实现数组时,需要注意以下事项。

  • 需要使用set命令定义数组的每个元素。
  • 需要" for"循环来遍历数组的值。

创建数组

使用以下set命令创建一个数组。

set a[0]=1

其中0是数组的索引,而1是分配给数组第一个元素的值。

实现数组的另一种方法是定义一个值列表并遍历值列表,以下示例显示了如何实现。

@echo off 
set list = 1 2 3 4 
(for %%a in (%list%) do ( 
   echo %%a 
))

上面的命令产生以下输出。

1
2
3
4

访问数组

您可以使用下标语法从数组中检索值,在数组名称后紧跟的方括号内传递要检索的值的索引。

@echo off 
set a[0]=1 
echo %a[0]%

在此示例中,索引从0开始,这意味着可以使用index为0来访问第一个元素,可以使用index为1来访问第二个元素,依此类推。让无涯教程检查以下示例以创建,初始化和访问数组-

@echo off
set a[0] = 1 
set a[1] = 2 
set a[2] = 3 
echo The first element of the array is %a[0]% 
echo The second element of the array is %a[1]% 
echo The third element of the array is %a[2]%

上面的命令产生以下输出。

The first element of the array is 1 
The second element of the array is 2 
The third element of the array is 3

修改数组

要将元素添加到数组的末尾,可以将set元素与数组元素的最后一个索引一起使用。

@echo off 
set a[0] = 1  
set a[1] = 2  
set a[2] = 3 
Rem Adding an element at the end of an array 
Set a[3] = 4 
echo The last element of the array is %a[3]%

上面的命令产生以下输出。

The last element of the array is 4

您可以通过在给定索引处分配新值来修改Array的现有元素,如以下示例所示-

@echo off 
set a[0] = 1 
set a[1] = 2  
set a[2] = 3 
Rem Setting the new value for the second element of the array 
Set a[1] = 5 
echo The new value of the second element of the array is %a[1]%

上面的命令产生以下输出。

The new value of the second element of the array is 5

遍历数组

通过使用" for"循环并遍历数组的每个元素来实现数组的迭代。以下示例显示了可以实现数组的简单方法。

@echo off 
setlocal enabledelayedexpansion 
set topic[0] = comments 
set topic[1] = variables 
set topic[2] = Arrays 
set topic[3] = Decision making 
set topic[4] = Time and date 
set topic[5] = Operators 

for /l %%n in (0,1,5) do ( 
   echo !topic[%%n]! 
)

关于上述程序,需要注意以下几点:

  • 需要使用set命令专门定义数组的每个元素。

  • 带有/L参数的" for"循环用于遍历范围,用于遍历数组。

上面的命令产生以下输出。

Comments 
variables 
Arrays 
Decision making 
Time and date 
Operators

数组长度

数组的长度是通过迭代数组中的值列表来完成的,因为没有直接函数来确定数组中元素的数量。

@echo off 
set Arr[0] = 1 
set Arr[1] = 2 
set Arr[2] = 3 
set Arr[3] = 4 
set "x=0" 
:SymLoop 

if defined Arr[%x%] ( 
   call echo %%Arr[%x%]%% 
   set /a "x+=1"
   GOTO :SymLoop 
)
echo "The length of the array is" %x%

输出 上面的命令产生以下输出。

The length of the array is 4

创建结构

也可以使用一些额外的实现代码在批处理文件中实现结构,以下示例显示了如何实现此目的。

@echo off 
set len = 3 
set obj[0].Name = Joe 
set obj[0].ID = 1 
set obj[1].Name = Mark 
set obj[1].ID = 2 
set obj[2].Name = Mohan 
set obj[2].ID = 3 
set i = 0 
:loop 

if %i% equ %len% goto :eof 
set cur.Name= 
set cur.ID=

for /f "usebackq delims==.tokens=1-3" %%j in (`set obj[%i%]`) do ( 
   set cur.%%k=%%l 
) 
echo Name = %cur.Name% 
echo Value = %cur.ID% 
set /a i = %i%+1 
goto loop

关于以上代码,需要注意以下关键事项。

  • 使用set命令定义的每个变量都有2个与数组的每个索引关联的值。

  • 变量 i 设置为0,以便可以遍历结构,将数组的长度设为3。

  • 始终检查i的值是否等于 len 的条件,否则,无涯教程将遍历代码。

  • 能够使用obj [%i%]表示法访问结构的每个元素。

上面的命令产生以下输出。

Name=Joe 
Value=1 
Name=Mark 
Value=2 
Name=Mohan 
Value=3

参考链接

https://www.learnfk.com/batch-script/batch-script-arrays.html

标签:教程,set,批处理,无涯,echo,%%,数组,array,element
From: https://blog.51cto.com/u_14033984/8193790

相关文章

  • SpringBoot图书管理系统运行教程
    @文章目录目录1、前期必备1.1、所需软件版本说明1.2、下载源码1.3、下载开发工具1.4、下载JDK并配置环境变量1.5、安装数据库和数据库管理工具1.6、安装配置Maven2、将SQL文件导入到数据库2.1、新建MySQL连接2.2、新建数据库并导入SQL3、IDEA配置Maven环境4、IDEA安装Lombok插件5......
  • 无涯教程-批处理 - 脚本注释
    为创建的脚本添加注释或文档始终是一个好习惯,这是维护脚本以了解脚本实际功能所必需的。如,考虑下面没有注释形式的代码,如果没有编写以下脚本的普通人试图理解该脚本,则该人将花费大量时间来理解该脚本的实际作用。ECHOOFFIFNOT"%OS%"=="Windows_NT"GOTOSyntaxECHO.%*|......
  • 无涯教程-批处理 - 变量声明
    批处理文件中有两种类型的变量,一种是用于在调用批处理文件时传递的参数,另一种是通过set命令进行传递的参数。命令行参数批处理脚本支持命令行参数的概念,其中可以在调用参数时将参数传递给批处理文件,可以通过变量%1,%2,%3等从批处理文件中调用参数。以下示例显示了一个批处理文件,该......
  • 【Git 教程系列第 27 篇】ssh: connect to host github.com port 22: Connection refu
    https://blog.csdn.net/qq_42351033/article/details/131612279ssh:connecttohostgithub.comport22:Connectiontimedoutfatal:Couldnotreadfromremoterepo......
  • 无涯教程-批处理 - 语法
    通常,批处理文件中的第一行通常包含以下命令。ECHO命令@echooff默认情况下,批处理文件将在运行时显示其命令,第一条命令的目的是关闭此显示,命令“echooff”关闭整个脚本的显示,但“echooff”命令本身除外。前面的“@”符号“@”使命令也适用于其自身。脚本程序让无涯教程......
  • 无涯教程-批处理 - 简介
    批处理文件(英语:Batchfile),又称批次档,在DOS、OS/2、微软视窗系统中,是一种用来当成脚本语言运作程序的文件。它本身是文本文件,其中包含了一系列让具备命令行界面的解释器读取并运行的指令。它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的解释器(通常是COMMAND.COM或者CMD......
  • FreeRTOS深入教程(任务创建的深入和任务调度机制分析)
    (文章目录)前言本篇文章将带大家深入学习任务的创建和分析任务调度的机制。一、深入理解任务的创建创建任务函数原型:BaseType_txTaskCreate(TaskFunction_tpxTaskCode,constchar*constpcName,/*lint!e971Unqualifiedchartypes......
  • 无涯教程-批处理 - 环境设置
    本章介绍与批处理脚本相关的环境。写入&执行通常,要创建批处理文件,请使用记事本,这是用于创建批处理文件的最简单的工具,接下来是批处理脚本的执行环境。在Windows系统上,这是通过命令提示符或cmd.exe完成的,所有批处理文件都在此环境中运行。以下是启动cmd.exe的不同方法-方法1-......
  • 无涯教程-批处理 - 文件处理
    在本章中,无涯教程将学习如何创建,保存,执行和修改批处理文件。创建批处理文件批处理文件通常在记事本中创建,因此,最简单的方法是打开记事本并输入脚本所需的命令,对于本练习,请打开记事本并输入以下语句。::DeletesAllfilesintheCurrentDirectoryWithPromptsandWarnings......
  • Linux安装maven(详细教程)
    yuanwen:https://www.cnblogs.com/outrun/p/17708907.htmlhttps://www.cnblogs.com/outrun/p/17708907.htmlLinux安装maven(详细教程)Linux安装maven(详细教程)一、简介Maven是意第绪语,意思是“知识的积累者”,最初是为了简化JakartaTurbine项目中的构建过程。有几......