如何批量抓取每4个数字

问题描述 投票:0回答:1

使用 Windows CMD Batch 顺便说一句。不管怎样,我有一个 48 位长的字符串保存到一个变量中,我想取出该变量的每 4 位数字并将其保存到新变量中,以便可以回显它。

我希望能够增加该值,并将每 4 位数字存储到新的变量中,例如 var1=0000。

此外,字符串只是数字。

batch-file cmd
1个回答
0
投票

easy:使用

for /L
循环和
set
提取子字符串的能力。为变量名称添加一个计数器,然后就完成了:

@echo off
setlocal enabledelayedexpansion

REM create a random 48-digit string:
set "string="
for /l %%a in (1,1,48) do <nul set "string=!string!!random:~-1!"
echo 48-digit string: %string%

REM dissect into groups of four and assign to variables:
set count=0
for /l %%a in (0,4,45) do (
  set /a count+=1
  set "var_!count!=!string:~%%a,4!
)
set var

输出示例:

48-digit string: 561545587231541933791169318876024486505200864568
var_1=5615
var_10=5052
var_11=0086
var_12=4568
var_2=4558
var_3=7231
var_4=5419
var_5=3379
var_6=1169
var_7=3188
var_8=7602
var_9=4486
© www.soinside.com 2019 - 2024. All rights reserved.