You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows CMD Batch中如何批量提取每4位数字到变量

Windows CMD批处理:48位数字串按4位拆分到递增变量中

假设你的48位数字字符串已经存在变量input里,下面的代码可以直接实现按每4位拆分,存入var1到var12:

@echo off
setlocal enabledelayedexpansion

:: 示例48位数字串,实际使用时替换成你的变量
set "input=123456789012345678901234567890123456789012345678"

set "i=1"
:split_loop
if "!input!"=="" goto end_loop
:: 截取前4位存入对应变量
set "var!i!=!input:~0,4!"
:: 去掉已截取的前4位,更新input
set "input=!input:~4!"
:: 计数器递增
set /a i+=1
goto split_loop

:end_loop
:: 测试输出所有变量
for /l %%n in (1,1,12) do echo var%%n=!var%%n!

endlocal

关键说明:

  • setlocal enabledelayedexpansion:必须开启延迟扩展,否则循环里的动态变量赋值(比如var!i!)无法正常生效。
  • !input:~0,4!:截取字符串input的前4个字符;!input:~4!:截取从第5位开始到结尾的剩余字符串。
  • set /a i+=1:计数器自增,实现变量名从var1到var12的递增命名。
  • 最后的for /l循环可以批量输出所有拆分后的变量,方便验证结果。

如果你的原始变量不是input,直接替换代码里的input为你的变量名即可,确保它是48位纯数字(若长度不固定,可调整循环终止条件,但这里刚好48位,循环12次自动结束)。

内容的提问来源于stack exchange,提问作者EnderCal1012

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 18:23:12