1

我有一个由 52 个字符组成的随机生成的数字,并且想将每两个字符分配给字母表中的一个字母

例如生成的数字是:

8418883335015492815087755766083114261445499300375638

我希望将前两个84分配给一个名为 的变量VAR_A,然后18是 toVAR_B等等。

我怎样才能最好地做到这一点?

编辑:::

set MY_ALPHABET=1234567890

set MY_A=%MY_ALPHABET:~-2%

SET MY_ALPHABET_B = (%MY_ALPHABET% - %MY_A%)

echo %MY_ALPHABET_B%
4

2 回答 2

0

可能有更好的方法,但它有效

@echo off
setlocal enabledelayedexpansion
set start=0
set step=2
set end=52
set nvar=1
set number=8418883335015492815087755766083114261445499300375638
:LOOP
if %start%==%end% (
echo done
pause >nul
) else (
set var%nvar%=!number:~%start%,%step%!
echo !var%nvar%!
set /a start+=2
set /a nvar+=1
goto :LOOP
)
pause >nul

完成后,您将有 26 个变量命名var1var26.

于 2012-11-21T13:31:21.063 回答
0

这似乎是一个愚蠢的练习,但这里有

@echo off
setlocal enableDelayedExpansion
set  "chars=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 "string=8418883335015492815087755766083114261445499300375638"

::Assign variables
for /l %%N in (0 2 50) do set "var_!chars:~%%N,1!=!string:~%%N,2!"

::Show results
set var

结果:

var_A=84
var_B=18
var_C=88
var_D=33
var_E=35
var_F=01
var_G=54
var_H=92
var_I=81
var_J=50
var_K=87
var_L=75
var_M=57
var_N=66
var_O=08
var_P=31
var_Q=14
var_R=26
var_S=14
var_T=45
var_U=49
var_V=93
var_W=00
var_X=37
var_Y=56
var_Z=38
于 2012-11-21T14:57:46.780 回答