我试图在批处理文件中使用数组中的值设置变量,但到目前为止似乎没有解决方案。这是一个情况的片段:
:: random value
set ParId=123
:: get the last number of the previous value
set /a "temp0=%ParId% %% 10"
:: part of my array, just for the example
set AsciiNumTable[0]=0x30
set AsciiNumTable[1]=0x31
set AsciiNumTable[2]=0x32
set AsciiNumTable[3]=0x33
set AsciiNumTable[4]=0x34
set AsciiNumTable[5]=0x35
set AsciiNumTable[6]=0x36
set AsciiNumTable[7]=0x37
set AsciiNumTable[8]=0x38
set AsciiNumTable[9]=0x39
:: PART NOT WORKING
set ParIdByte0=AsciiNumTable[%temp0%]
我尝试了不同的方法:
call set ParIdByte0=%AsciiNumTable[!tempId5!]%
但它们也不起作用。
如果我输出数组和临时变量,它们看起来很好,所以我不知道为什么我无法从数组中获取值。
答案 0 :(得分:0)
"不工作"毫无意义。请说明您的期望和实际发生的事情。
尝试
call set ParIdByte0=%%AsciiNumTable[%temp0%]%%
答案 1 :(得分:0)
可以通过您正在尝试的反向方法(使用延迟扩展)来完成。尽管您的脚本存在更多问题1)在为app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
res.header('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS');
next();
});
分配值时缺少set关键字2){{1} } value将为ParId
,并且数组中没有第三个元素:
temp0