Board logo

标题: 如何在纯DOS7.1下提取字符串中的数字? [打印本页]

作者: fairsky007     时间: 2010-9-2 12:02    标题: 如何在纯DOS7.1下提取字符串中的数字?

请高手解答:
我用MEM获取了一个内存容量值%M%,发现其格式为1,048,512 ,但是做数学运算时必须是单纯的数字(1048512),用批处理命令如何实现?

注意:我的DOS7.1,不能用for /f "tokens=* delims=,"  %%i in (%M%) do set x=%%i 这样的命令,DOS版本低系统不支持。
作者: fairsky007     时间: 2010-9-4 03:28    标题: 没人帮忙呀,自己顶一下!

没人帮忙呀,自己顶一下!

没人帮忙呀,自己顶一下!没人帮忙呀,自己顶一下!


没人帮忙呀,自己顶一下!没人帮忙呀,自己顶一下!没人帮忙呀,自己顶一下!没人帮忙呀,自己顶一下!
作者: DOSforever     时间: 2010-9-4 21:18
能不能告诉我你到底想干什么?或许不必绕这么个圈子。
作者: DengKen     时间: 2010-12-5 12:11
纯DOS不好实现,我也想了很久!苦无解!
作者: qzwqzw     时间: 2010-12-5 22:40
将变量作为参数传到另一个批处理中
然后用shift循环连接所有的参数即可
因为逗号是命令行默认的参数分隔符

这是临时手写的DEMO,未经测试
@echo off
if [%1]==[:] goto %2

call %0 : catchvar %m%
echo %m% to %new%
goto end

:catchvar
if [%3]==[] goto end
set new=%new%%3
shift
goto catchvar

:end

作者: peterhuang     时间: 2010-12-6 10:52
建议你装一个sed。
这种东西用RE来处理简直小菜一碟 sed 's/,//g'
作者: DXSX     时间: 2010-12-7 16:49
把 变量m传递给 awk 处理显示。

echo %m%|awk -F, '{for (i=1;i!=(NF+1);i++) printf $i}'