1

52文字でランダムに生成された数字があり、アルファベットの文字に2文字ごとに割り当てたい

たとえば、生成される数は次のとおりです。

8418883335015492815087755766083114261445499300375638

最初の2つを、、、というよう84にという変数に割り当てVAR_Aたいと思います。18VAR_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

var1完了すると、までの名前が付けられた26個の変数が作成されvar26ます。

于 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 に答える