楼 主
[求助]读取变量并求和【已解决】
发表于 2007-06-28 23:51 · 中国 河北 保定 联通
初级用户
★
积分 52 发帖 21 注册 2007-01-19 06:49 19年会员 UID 76993 性别 男
状态 离线
我有一个abc.txt文件,内容为:
A1=xxx
A2=xxx
........
An=456
B1=XXX
......
Bm=XXX
现在想做一个批处理:
1、求A1到An的和;
2、求B1到Bm的和。
该如何写,请高手指教。
[
Last edited by textcd on 2007-6-29 at 09:02 AM ]
第 2 楼
用Gawk试试
发表于 2007-06-29 00:09 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 19年会员 UID 59080
状态 离线
gawk -F= "{if($0~/^A*/)sumofA+=$2;if($0~/^B*/)sumofB+=$2;}END{printf(\"A=%d\nB=%d\n\",sumofA,sumofB)}" abc.txt
#Gawk 下载
http://www.cn-dos.net/forum/viewthread.php?tid=31098&page=1#pid205571
第 3 楼
发表于 2007-06-29 00:24 · 中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687 发帖 1,467 注册 2005-08-08 12:00 20年会员 UID 44210
状态 离线
批处理的,不能计算小数,最大数量自己设置
@echo off
setlocal EnableDelayedExpansion
for /f "delims=" %%i in (abc.txt) do set %%i
for /l %%n in (1,1,1000) do if not "!A%%n!" == "" set /a strA=!strA!+!A%%n!
for /l %%n in (1,1,1000) do if not "!B%%n!" == "" set /a strB=!strB!+!B%%n!
cd.>temp.txt
>>temp.txt echo A=%strA%
>>temp.txt echo B=%strB%
pause
第 4 楼
发表于 2007-06-29 06:50 · 中国 河北 保定 联通
初级用户
★
积分 52 发帖 21 注册 2007-01-19 06:49 19年会员 UID 76993 性别 男
状态 离线
Originally posted by zh159 at 2007-6-29 12:24 AM:
批处理的,不能计算小数,最大数量自己设置
@echo off
setlocal EnableDelayedExpansion
for /f "delims=" %%i in (abc.txt) do set %%i
for /l %%n in (1,1,1000) do i ...
Originally posted by lxmxn at 2007-6-29 12:09 AM:
gawk -F= "{if($0~/^A*/)sumofA+=$2;if($0~/^B*/)sumofB+=$2;}END{printf(\"A=%d\nB=%d\n\",sumofA,sumofB)}" abc.txt
#Gawk 下载
http://www.cn-dos.net/foru ...
多谢两位。
第 5 楼
发表于 2007-06-29 14:06 · 中国 上海 联通
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 19年会员 UID 89899 性别 男
状态 离线
3楼的技巧我也学到手了
就像以前那个计算字符串长度的问题
嘿嘿
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正