中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 20:32
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 文本合计计算3
可打印版本  870 / 8
第1楼 xycoordinate 发表于 2009-04-02 22:55
中级用户 发帖 228 积分 493 来自 安徽
文本合计计算3
jgh.txt

15600
15601
15602
15604
15606
15607
15608
15609
15610
15611
15612
15613
15615
15616
15617


200901.txt

15600_15601 63 77992.00 370687.99
15600_15602 149 1065654.00 1540899.79
15600_15604 59 856416.30 1229540.20
15600_15605 156 842744.63 612520.52
15600_15606 128 1426332.00 2100760.30
15600_15607 90 1134164.60 761177.78
15600_15608 198 1549745.00 2114666.95
15600_15609 417 585620.91 1602072.51
15600_15610 499 1380364.00 3225634.50
15600_15611 98 116438.50 544952.48
15600_15612 136 850986.00 2610013.65
15600_15613 116 949689.00 1973142.44
15600_15615 171 1796545.34 1989385.51
15600_15616 132 936021.00 1036100.00
15600_15617 110 1832010.00 8496317.40

15601_15600 166 682532.32 1765633.05
15601_15602 279 1132898.48 2012948.18
15601_15604 61 284914.00 584958.52
15601_15605 262 682505.32 963295.55
15601_15606 224 1156155.91 1419828.21
15601_15607 170 1026839.89 717955.78
15601_15608 448 1766171.63 2187517.38
15601_15609 310 843725.00 1184437.78
15601_15610 563 1940682.59 3116557.40
15601_15611 317 1555287.69 922176.88
15601_15612 180 1289567.62 2849856.49
15601_15613 116 1291850.00 1698246.67
15601_15615 365 1129832.59 6295609.09
15601_15616 72 17660997.31 1477137.61
15601_15617 115 890627.11 575611.74
15602_15600 169 2812445.00 2292740.17
15602_15601 109 541519.71 348616.53
15602_15604 106 422654.40 621126.42
15602_15605 134 3218412.35 3282854.55
15602_15606 170 1701403.87 870946.03
15602_15607 96 1298415.00 891968.36
15602_15608 697 2219479.00 6599770.64
15602_15609 307 2041910.31 419625.21
15602_15610 346 1366324.38 2731798.18
15602_15611 143 913700.00 3064429.59
15602_15612 378 3373102.72 5473440.71
15602_15613 305 482128.32 1915615.30
15602_15615 390 883610.00 2491859.17
15602_15616 56 120345.00 1388771.18
15602_15617 71 233926.03 633168.00

……


想得到
200901_new.txt

机构 比数 借方 贷方 合计
------------------------------------------------------------
15600_15601 63 77992.00 370687.99 合计
15600_15602 149 1065654.00 1540899.79 合计
15600_15604 59 856416.30 1229540.20 合计
15600_15605 156 842744.63 612520.52 合计
15600_15606 128 1426332.00 2100760.30 合计
15600_15607 90 1134164.60 761177.78 合计
15600_15608 198 1549745.00 2114666.95 合计
15600_15609 417 585620.91 1602072.51 合计
15600_15610 499 1380364.00 3225634.50 合计
15600_15611 98 116438.50 544952.48 合计
15600_15612 136 850986.00 2610013.65 合计
15600_15613 116 949689.00 1973142.44 合计
15600_15615 171 1796545.34 1989385.51 合计
15600_15616 132 936021.00 1036100.00 合计
15600_15617 110 1832010.00 8496317.40 合计
15600_合计 比数合计 借方合计 贷方合计 总合计
……

合计=借方+贷方
总合计= 借方合计+贷方合计
比数合计=比数加总
借方合计=借方加总
贷方合计=贷方加总

每行的后2个数加总
后3列,每列的数加总

[ Last edited by xycoordinate on 2009-4-3 at 05:45 ]
第2楼 yishanju 发表于 2009-04-02 23:58
银牌会员 发帖 1,357 积分 1,488
这种事情难道不是用office 软件处理更简单吗
第3楼 HAT 发表于 2009-04-03 01:37
版主 发帖 5,017 积分 9,023
Re 2楼
批处理可以实现“双击鼠标(放到计划任务里面的话连双击都免了),一切搞定”,Office行么?
第4楼 moniuming 发表于 2009-04-03 06:25
银牌会员 发帖 574 积分 1,335 来自 广西
唉,批处理不支持浮点运算,也无法进行较大数的计算,弄这个真的好费工夫...
第5楼 xycoordinate 发表于 2009-04-03 06:30
中级用户 发帖 228 积分 493 来自 安徽
唉,批处理不支持浮点运算,也无法进行较大数的计算,弄这个真的好费工夫...



好人!
第6楼 yishanju 发表于 2009-04-03 07:49
银牌会员 发帖 1,357 积分 1,488
我倒,是谁想用OFFICE 双击鼠标了
这种事情难道不应该考虑用VBA
不至于什么事情都考虑用批处理实现吧
第7楼 xycoordinate 发表于 2009-04-04 03:02
中级用户 发帖 228 积分 493 来自 安徽
学习,自己写了个bat(还要完善)

@echo off&setlocal enabledelayedexpansion

for /f %%i in (jgh.txt) do (
set var=%%i

REM 注意"delims=_ "
for /f "tokens=1-5 delims=_ " %%a in (200901.txt) do (
set jgh=%%a

set str1=%%c
set str2=%%d
set str3=%%e

set str2=!str2:.=!
set str3=!str3:.=!

set /a jd=!str2!+!str3!

if "!jgh!"=="!var!" (
set /a bs+=!str1!,jf+=!str2!,df+=!str3!
set /a hj=!jf!+!df!
echo %%a_%%b %%c %%d %%e !jd!
)

)
echo !var!_cxtdb !bs! !jf! !df! !hj!
echo.

set bs=0&set jf=0&set df=0&set hj=0

)

endlocal

pause


得到的结果是

15600_15601 63 77992.00 370687.99 44867999
15600_15602 149 1065654.00 1540899.79 260655379
15600_15604 59 856416.30 1229540.20 208595650
15600_15605 156 842744.63 612520.52 145526515
15600_15606 128 1426332.00 2100760.30 352709230
15600_15607 90 1134164.60 761177.78 189534238
15600_15608 198 1549745.00 2114666.95 366441195
15600_15609 417 585620.91 1602072.51 218769342
15600_15610 499 1380364.00 3225634.50 460599850
15600_15611 98 116438.50 544952.48 66139098
15600_15612 136 850986.00 2610013.65 346099965
15600_15613 116 949689.00 1973142.44 292283144
15600_15615 171 1796545.34 1989385.51 378593085
15600_15616 132 936021.00 1036100.00 197212100
15600_15617 110 1832010.00 8496317.40 1032832740
15600_cxtdb 2522 1540072328 -1274180094 265892234

15601_15600 166 682532.32 1765633.05 244816537
15601_15602 279 1132898.48 2012948.18 314584666
15601_15604 61 284914.00 584958.52 86987252
15601_15605 262 682505.32 963295.55 164580087
15601_15606 224 1156155.91 1419828.21 257598412
15601_15607 170 1026839.89 717955.78 174479567
15601_15608 448 1766171.63 2187517.38 395368901
15601_15609 310 843725.00 1184437.78 202816278
15601_15610 563 1940682.59 3116557.40 505723999
15601_15611 317 1555287.69 922176.88 247746457
15601_15612 180 1289567.62 2849856.49 413942411
15601_15613 116 1291850.00 1698246.67 299009667
15601_15615 365 1129832.59 6295609.09 742544168
15601_15616 72 17660997.31 1477137.61 1913813492
15601_15617 115 890627.11 575611.74 146623885
15601_cxtdb 3648 -961508550 -1517790263 1815668483

15602_15600 169 2812445.00 2292740.17 510518517
15602_15601 109 541519.71 348616.53 89013624
15602_15604 106 422654.40 621126.42 104378082
15602_15605 134 3218412.35 3282854.55 650126690
15602_15606 170 1701403.87 870946.03 257234990
15602_15607 96 1298415.00 891968.36 219038336
15602_15608 697 2219479.00 6599770.64 881924964
15602_15609 307 2041910.31 419625.21 246153552
15602_15610 346 1366324.38 2731798.18 409812256
15602_15611 143 913700.00 3064429.59 397812959
15602_15612 378 3373102.72 5473440.71 884654343
15602_15613 305 482128.32 1915615.30 239774362
15602_15615 390 883610.00 2491859.17 337546917
15602_15616 56 120345.00 1388771.18 150911618
15602_15617 71 233926.03 633168.00 86709403
15602_cxtdb 3477 -2132029687 -992294292 1170643317


红字的是否是数字太大导致的?
如何解决???


[ Last edited by xycoordinate on 2009-4-4 at 03:11 ]
第8楼 netbenton 发表于 2009-04-05 12:07
银牌会员 发帖 752 积分 1,916 来自 广西
一个浮点加法函数,速度还可以
为什么只支持49位有效数呢?为了速度,再说,多了也没意义
自动丢弃头尾无效的0



[ Last edited by netbenton on 2009-4-5 at 10:08 ]
第9楼 sxg9739 发表于 2009-05-05 10:47
新手上路 发帖 1 积分 1
楼上的都厉害。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023