You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用数组批量修改DOFRI模型命令中的多变量

问题:同步迭代修改DOFRI模型命令的Record和Index参数

需求说明

我有一个基于DOFRI(Database, Object, Field, Record, Index)模型的行内命令"updatesysdb 11 15 88 545112 0",希望通过多数组同步迭代修改其中的Record(545112)和Index(0)参数,其余部分保持不变。

数组定义

set MMU_Mv_Records=155655 155656 155657 155658
set MMU_Mv_Indexes=1500 900 1100 300

尝试的脚本(存在重复输出问题)

使用嵌套for循环后,生成了8行输出而非期望的4行:

setlocal enabledelayedexpansion enableextensions
set MMU_Mw_Indexes=155655 155656 155657 155658
set MMU_Mw_Values=1500 900 1100 300
for %%p in (%MMU_Mw_Indexes%) do (
for %%q in (%MMU_Mw_Values%) do (
echo updatesysdb 11 15 88 %%p %%q
ping 127.0.0.1 -n 1 -w 500> nul))

期望输出

"updatesysdb 11 15 88 155655 1500" 
"updatesysdb 11 15 88 155656 900"
"updatesysdb 11 15 88 155657 1100" 
"updatesysdb 11 15 88 155658 300"

修改后的可行脚本

感谢Magoo的回复,已调整脚本实现同步迭代,适配扩展需求:

@echo off   
setlocal EnableExtensions DisableDelayedExpansion

set "MMU_REC=551255 551256 551257"
set "MMU_IDX=0 1 4"
(for /L %%I in (1,1,3) do call :RunTest %%I) & exit /B
:RunTest
for /F "tokens=%1" %%J in ("%MMU_REC%") do set "V_REC=%%J"
for /F "tokens=%1" %%J in ("%MMU_IDX%") do set "V_IDX=%%J"
echo updatesysdb 11 15 88 %V_REC% %V_IDX%
REM ping 127.0.0.1 -n 1 -w 500> nul) 
timeout /t 2 /nobreak>nul
goto :EOF

内容的提问来源于stack exchange,提问作者NanoNet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 21:06:19