windows - 如何在 for 循环 Windows 批处理脚本中递归地迭代数组
问题描述
我有一个批处理脚本,它读取并打印文件 entry.txt 中的每一行和行号,如下所示。
我有一个名为list
.
SETLOCAL enabledelayedexpansion
set i=0
set "strc=autorun_"
set list = PROD01 PROD02 PROD03 BangScan
for /f "tokens=*" %%a in (entry.txt) do (
set /a i+=1
::set /a zrrcount = !i!%5
::echo arrc=%%zrrcount
::echo list[%arrc%]
echo counter"%strc%!i!"
echo line=%%a
java pack.Scan %strc%!i! %%a
)
pause
在 for 循环中,我希望为第一次循环迭代打印数组的第一个元素,当循环第二次运行时,应该打印数组的第二个元素,同样地。
一旦数组完成,即当数组的最后一项被打印并且循环继续时,数组必须从头开始打印元素,即从第一个元素开始。
这样for loop
运行
iteration 1 must print PROD01
iteration 2 must print PROD02
iteration 3 must print PROD03
iteration 4 must print BangScan
iteration 5 must print PROD01
iteration 6 must print PROD02
and so on ...
注意:!i!
打印循环的迭代次数。
我是批处理新手。任何帮助,将不胜感激。
解决方案
推荐阅读
- python - 如何将列表项的各个部分分成一个新列表?
- flutter - 尝试运行颤振项目失败
- macos - VirtualBox 无法在 Mac OS HighSierra 上打开
- c# - C# 以 3D 维度的速度将对象移动到另一个对象
- javascript - componentDidMount 未按预期执行
- file-upload - 使用多个线程进行文件上传有什么好处吗?
- node.js - 打印消息的公会名称
- javascript - 检查节点是否包含任何具有类的元素
- windows - 使用 PowerShell 远程安装 Windows 更新。(一些 PowerCLI)
- oop - 清洁架构:为什么不使用实体作为用例的请求模型(交互器)