此问题在此处已有答案:
Variables are not behaving as expected(1个答案)
Nested Variables in Substring selection(1个答案)
4天前关闭。
下面的代码用于打印基于2个集合的命令行
@echo off
rem Define lists of register addresses and values to write
set MY_REG_ADDRESSES=3 22 28 29 31 32 21 51 94 97 104 105 77
set MY_REG_VALUES=4 12000 450 40 100 40 1440 100 450 10000 0 0 1000
rem Write values to Modbus registers using the lists
set i=0
for %%a in (%MY_REG_ADDRESSES%) do (
set /a i=i+1
echo modpoll -r %%a -t 4 -4 1 COM3 !MY_REG_VALUES:~%i%,1!
)
我希望代码输出如下所示的行:
modpoll -r 3 -t 4 -4 1 COM3 4
而是我得到:
modpoll -r 3 -t 4 -4 1 COM3 !MY_REG_VALUES:~0,1!
我也尝试过使用list[i],但没有返回任何结果?
1条答案
按热度按时间j2datikz1#
也许这就是你想做的!
显然,最后一行是可选的,(我只是将其包括在内,以便您可以在双击脚本时看到结果)。