我已经编辑了一个与多维数组一样好的示例。
原始示例中有一个错误。我已更正
sentinels.txt 的数据:
127.0.0.1 环回 192.168.100.102 打印机
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET /A ElapsedCount=1
SET newline=^
SET list=Pi Ho Pa
FOR /F %%i IN ("%list: =!newline!%") DO (ECHO item is %%i in list)
pause
FOR /F %%A IN (Sentinels.txt) DO (
SET /A HostCount+=1
SET _local=127.0.0.1
FOR /F %%i IN ("%list: =!newline!%") DO (
CALL SET array[!A!, !i!, !ElapsedCount!] = !_local! && CALL ECHO !_local! ARR:: !array[ !A!, !i!, !ElapsedCount!]!
IF "!array[ !A!, !i!, !ElapsedCount!]!"=="127.0.0.2" ECHO succes
)
)
我不确定 _local 变量是否正确写入数组,也没有将其从数组中取出。
我被骗了感叹/百分比与...一起使用延缓扩张。
在这种情况下,变量 _local 包含值 127.0.0.1。对于 sentinel.txt 中的元素数量,此变量需要写入具有索引“Pi”“Ho”“Pa”的三维数组“array”。
当循环遍历 sentinel.txt 的元素时,LIST 元素将作为数组“array[!A!, !i!, !ElapsedCount!]”的 3 个索引之一
同时我可以将变量放入和移出数组,但我无法比较变量,例如。
IF "!array[ !A!, !i!, !ElapsedCount!]!"=="127.0.0.2" ECHO 成功