batch-file - 定义一个变化的变量
问题描述
我正在尝试创建一个变量,该变量将根据变量结果链接到其他变量,但似乎无法使其正常工作。这是代码:
@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)"
需要。这只是一个易于访问的问题,但任何建议都将不胜感激。
解决方案
固定代码:
@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
推荐阅读
- angular6 - 在 Ionic 4 中使用硬件后退按钮的正确方法是什么?
- html - 我正在编写一个网站。背景图像的 URL 在 CSS 样式表中。我无法显示图像
- javascript - 奇怪的行为 Socket.io 和 React with hooks
- html - Chrome 不支持`font-family: "Arial Bold"`?
- javascript - Webix UI - 如何将 ui 小部件(输入、选择、日期选择器)值清除/重置/取消设置为空?
- tensorflow - 将模型从 colab 转换为 tf.keras h5 模型的问题
- ios - 如何从远程推送通知中获取 APNS 有效负载?
- python - 使用非重叠窗口将函数映射到容器
- impala - 如何从impala中的表中删除列
- apache-spark - Spark-Elasticsearch 连接问题