中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-18 02:12
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 如何在纯DOS7.1下提取字符串中的数字? 查看 1,680 回复 6
楼 主 如何在纯DOS7.1下提取字符串中的数字? 发表于 2010-09-02 12:02 ·  中国 北京 联通
初级用户
积分 21
发帖 8
注册 2010-08-24 12:56
UID 172902
性别 男
状态 离线
请高手解答:
我用MEM获取了一个内存容量值%M%,发现其格式为1,048,512 ,但是做数学运算时必须是单纯的数字(1048512),用批处理命令如何实现?

注意:我的DOS7.1,不能用for /f "tokens=* delims=," %%i in (%M%) do set x=%%i 这样的命令,DOS版本低系统不支持。
2 没人帮忙呀,自己顶一下! 发表于 2010-09-04 03:28 ·  中国 北京 昌平区 联通
初级用户
积分 21
发帖 8
注册 2010-08-24 12:56
UID 172902
性别 男
状态 离线
没人帮忙呀,自己顶一下!

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


没人帮忙呀,自己顶一下!没人帮忙呀,自己顶一下!没人帮忙呀,自己顶一下!没人帮忙呀,自己顶一下!
3 发表于 2010-09-04 21:18 ·  中国 上海 杨浦区 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
UID 35785
性别 男
状态 离线
能不能告诉我你到底想干什么?或许不必绕这么个圈子。
4 发表于 2010-12-05 12:11 ·  中国 上海 电信
新手上路
积分 6
发帖 4
注册 2010-11-22 16:15
UID 178050
性别 男
状态 离线
纯DOS不好实现,我也想了很久!苦无解!
5 发表于 2010-12-05 22:40 ·  中国 北京 鹏博士BGP
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
UID 19350
性别 男
状态 离线
将变量作为参数传到另一个批处理中
然后用shift循环连接所有的参数即可
因为逗号是命令行默认的参数分隔符

这是临时手写的DEMO,未经测试


@echo off
if == goto %2

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

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

:end
6 发表于 2010-12-06 10:52 ·  巴西 里约热内卢州 里约热内卢 Microsoft
初级用户
积分 29
发帖 15
注册 2010-11-24 14:33
UID 178185
性别 男
状态 离线
建议你装一个sed。
这种东西用RE来处理简直小菜一碟 sed 's/,//g'
7 发表于 2010-12-07 16:49 ·  中国 辽宁 葫芦岛 联通
中级用户
★★
积分 247
发帖 147
注册 2009-04-09 20:52
UID 142531
性别 男
状态 离线
把 变量m传递给 awk 处理显示。

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