DOS 批处理 将一个以空格为分隔符的字符串中特定格式的字符串取出并赋值给变量

如:
张三 6s7ew89 李四 56ee789
取出含数字部分并赋值给变量。
我用这个取出显示数字却不知怎么赋值给变量
FOR %i in (张三 67ew89 李四 56ee789) do @echo %i | findstr [0-9]
请高手赐教。。

应该把完整需求说出来的,不然就此写的你未必会进一步改
要写到批处理中:
@echo off
set str=6s7ew89 李四 56ee789
set/a n=0
for %%i in (%str%)do echo;%%i>tem
for /f "tokens=1* delims=:" %%i in ('findstr/n [0-9] tem')do set s%%i=%%j&set n=%%i
del tem
rem 已把含数字部分保存到数组变量s1-sn 了,例如可以用下面代码显示,其实这个步骤没必要,只需在上一步的for里的%%j 就是需要的变量,该作什么从那就可以做了:
setlocal enabledelayedexpansion
if %n% gtr 0 for /L %%i in (1,1,%n%)do echo !s%%i!
pause
温馨提示:答案为网友推荐,仅供参考
相似回答