Board logo

标题: [数值计算] 【已解决】求大哥大姐帮忙写个统计每个月收入和支出的批处理? [打印本页]

作者: mockesfun    时间: 2018-4-13 11:19     标题: 【已解决】求大哥大姐帮忙写个统计每个月收入和支出的批处理?

本帖最后由 mockesfun 于 2018-4-18 10:58 编辑
  1. @echo off
  2. set d1=1
  3. set d2=2
  4. set d3=3
  5. set d4=4
  6. set d5=5
  7. set d6=6.5
  8. set d7=
  9. set d8=
  10. set d9=
  11. set d10=
  12. set d11=
  13. set d12=
  14. set d13=
  15. set d14=
  16. set d15=
  17. set d16=
  18. set d17=
  19. set d18=
  20. set d19=
  21. set d20=
  22. set d21=
  23. set d22=
  24. set d23=
  25. set d24=
  26. set d25=
  27. set d26=
  28. set d27=
  29. set d28=
  30. set d29=
  31. set d30=
  32. set d31=
  33. set /a sum=d1+d2+d3+d4+d5+d6+d7+d8+d9+d10+d11+d12+d13+d14+d15+d16+d17+d18+d19+d20+d21+d22+d23+d24+d25+d26+d27+d28+d29+d30+d31
  34. echo                      ==============================================
  35. echo                                这个月收入= %sum%元
  36. echo                      ==============================================
  37. pause
复制代码
这个是我从网上找的,并自己修改了下。功能还是不理想。而且,收入和支付的月份里有小数又是个问题?请高手写个批处理能统计收入和支付处理小数计算的,得出的计算结果要准确无误。而且现在这个批处理,加减乘除计算结果也不准确。乘法 除法不能计算?

请高手写个批处理能统计收入和支付,支持小数计算调用第三方VBS也行,而且能合计收入的钱减去合计支付的钱,等于这个月剩下多少钱这个问题请帮解决下?

这个批处理的结果以ECHO方式显示出来,并能记录指定文件夹到xxxx年x月份.TXT里面,没有这个目录和这个txt文本就创建ok,可以在xxxx年x月份月份看到内容如下:

xxxx年x月份 合计收入 多少元

xxxx年x月份 合计支付 多少元

xxxx年x月份 合计收入 减去 合计支付 等于 多少元

的格式,记录在xxxx年x月份.TXT里面

先谢谢
作者: yhcfsr    时间: 2018-4-13 14:10

乱,需要统计的文件是什么样的格式?能不能传个样本?
记录指定文件夹到xxxx年x月份.TXT里面,没有这个目录和这个txt文本就创建ok??
看是我是一塌糊涂
作者: mockesfun    时间: 2018-4-13 15:44

本帖最后由 mockesfun 于 2018-4-13 16:08 编辑

需要统计的文件,是这个月份的收入是多少,支付了多少 内容如下:
2018年4月
1号 15+45+20      80元
2号 45+45+45      135元
3号 20+                  20元
4号                          0元
5号                          0元
6号 15+45             60元
只到
31号 20+20+20+20+20   100元
这个就是文件样本,但是上面的批处理,意思就是对应了这个类似格式,只需要在set d1=这里填当天收入数字即可了

记录指定文件夹到xxxx年x月份.TXT里面,没有这个目录和这个txt文本就创建ok??

就是按照下面格式输出到 2018年4月收入.TXT
2018年4月
1号 15+45+20      80元
2号 45+45+45      135元
3号 20+                  20元
4号                          0元
5号                          0元
6号 15+45             60元
只到
31号 20+20+20+20+20   100元

上面批处理 set d1= 中的d1 d意思是英语 day  中文 日的意思 一般人说那天那号

主要用上面的 批处理 统计收入和支付这个月份计算结果,在遇到小数了,就计算失效,而且结果也不准确了。
能不能在上面这个批处理基础下,修改成能支持小数计算,调用VBS也行,如果在上面批处理的基础下,不好改,另外写个也行。

求大哥帮帮吧!
作者: zaqmlp    时间: 2018-4-13 16:06

这用excel不是更直观又容易的事吗?很好奇你为什么会选择bat来处理
作者: mockesfun    时间: 2018-4-13 16:09

本帖最后由 mockesfun 于 2018-4-13 17:16 编辑

因为,我个人觉得BAT半自动化程度高,EXCEL用着不顺手。求大哥写个批处理吧
还有就是excel需要装这个软件,而且软件大,还好多版本,功能多的都不知道怎么用。而,BAT不需要安装啥了,有写好的代码就可以用了。方便些。

或者用 VBS写个也行
作者: yhcfsr    时间: 2018-4-13 18:21

本帖最后由 yhcfsr 于 2018-4-13 18:26 编辑

就不能复制段不敏感的样本附件上来?
你写的样本中看不出支出和收入啊?支出是用负数表示的吗?
还有指定文件夹到底是什么样的指定文件夹,你能不能把目录结构发图上来看看?
你要的功能不难,难的是清楚你具体的意图,无从下手。
作者: mockesfun    时间: 2018-4-13 20:27

本帖最后由 mockesfun 于 2018-4-16 11:26 编辑

不知道怎么发了图片,无法显示 样本跟上面写的一样,没那么复杂。目录就是电脑里面的目录路径啊?随便那个目录路径,当前目录路径下,也行。
作者: mockesfun    时间: 2018-4-14 19:37

[attach]11127[/attach]
作者: mockesfun    时间: 2018-4-14 19:52

[attach]11130[/attach]
终于上传成功了,这个是收入样本
作者: mockesfun    时间: 2018-4-14 19:53

本帖最后由 mockesfun 于 2018-4-14 19:58 编辑

求高手写个批处理,可以计算小数的,能调用VBS也行。
同时,能加入月收入 减去 月支付 等于 多少批处理功能
作者: mockesfun    时间: 2018-4-16 11:26

高手 你们人了?
作者: mockesfun    时间: 2018-4-16 11:27

回复 6# yhcfsr
图片上来了 在上面
作者: yhcfsr    时间: 2018-4-16 12:19

本帖最后由 yhcfsr 于 2018-4-16 12:27 编辑

回复 12# mockesfun


    来来来,加我QQ 33892006,一个回复等好几天,怎么解决问题?简单搞复杂了。
作者: mockesfun    时间: 2018-4-18 10:54

本帖最后由 mockesfun 于 2018-4-18 10:59 编辑

感谢 yhcfsr 大哥 帮助解决

@echo off&setlocal enabledelayedexpansion

set d1=1

set d2=2

set d3=3

set d4=4

set d5=5

set d6=6.5

set d7=

set d8=

set d9=

set d10=

set d11=

set d12=

set d13=

set d14=

set d15=

set d16=

set d17=

set d18=

set d19=

set d20=

set d21=

set d22=

set d23=

set d24=

set d25=

set d26=

set d27=

set d28=

set d29=

set d30=

set d31=

for %%a in (%d1% %d2% %d3% %d4% %d5% %d6% %d7%
%d8% %d9% %d10% %d11% %d12% %d13% %d14% %d15% %d16%
%d17% %d18% %d19% %d20% %d21% %d22% %d23% %d24%
%d25% %d26% %d27% %d28% %d29% %d30% %d31%) do if "%%a" neq "" (
        if not defined sum (  set "sum=%%a" ) else (
        set "sum=!sum!+%%a"
        )
)
for /f %%a in ('powershell -c "%sum%"') do set sum=%%a

echo                      ==============================================

echo                                这个月收入= %sum%元

echo                      ==============================================

pause




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2