我正在尝试创建一个变量,该变量将基于变量结果链接到其他变量,但似乎无法使其正常工作。这是代码:
@echo off
set rollnumbera=10
set /a num=%random% %%rollnumbera +1
set "message=msg%num%"
set msg1=a
set msg2=b
set msg3=c
set msg4=d
set msg5=e
set msg6=f
set msg7=g
set msg8=h
set msg9=i
set msg10=j
echo %message%
echo %num%
pause
当我运行它时,它显示msg%num%
结果,但似乎没有链接到设置的msg#s。我想知道是否有办法做到这一点,或者是否需要"if %num% == message number (echo message)"
。这只是一个易于访问的问题,但是任何建议都将不胜感激。
答案 0 :(得分:0)
固定代码:
@echo off
setlocal enabledelayedexpansion
set rollnumbera=10
set /a num=(%random% %% rollnumbera)+1
set msg1=a
set msg2=b
set msg3=c
set msg4=d
set msg5=e
set msg6=f
set msg7=g
set msg8=h
set msg9=i
set msg10=j
for %%a in ("!msg%num%!") do set message=%%a
echo %message%
echo %num%
pause