如何将Batch脚本中的数字序列替换为递增字母序列?
修改Batch脚本实现字母序号输出
原Batch脚本及执行效果:
@echo off setlocal enableDelayedExpansion set menu=One Two Three SET order=0 for %%A in (%menu%) do ( set /a order+=1 echo [!order!] %%A ) pause
执行输出:
[1] One [2] Two [3] Three
需要将数字序号替换为字母序号,实现如下输出:
[A] One [B] Two [C] Three
修改后的脚本:
@echo off setlocal enableDelayedExpansion set menu=One Two Three set "letters=A B C D E F G H I J K L M N O P Q R S T U V W X Y Z" SET order=0 for %%A in (%menu%) do ( set /a order+=1 for /f "tokens=!order!" %%L in ("%letters%") do ( echo [%%L] %%A ) ) pause
说明
- 提前定义包含大写字母的
letters变量,后续如果需要更多字母直接在序列里追加即可 - 利用
for /f的tokens参数,根据当前循环的序号提取对应位置的字母 - 保持延迟扩展启用,确保循环中
order的实时值能被正确解析
内容的提问来源于stack exchange,提问作者Mr.Key7
相关产品推荐
相关产品推荐

