中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 10:52
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 文件夹中所有文件内容求和
可打印版本  2,612 / 31
第16楼 jmz573515 发表于 2007-02-06 02:42
银牌会员 发帖 464 积分 1,212
你给一个当天(昨天,或是今天)的水电费的内容,不说清楚怎么写啊?
难道是1.txt文件里只有下面这些内容吗?
水电费:569
合同金:658
外援费:56666
第17楼 anqing 发表于 2007-02-06 09:32
高级用户 发帖 413 积分 859
是的
第18楼 jmz573515 发表于 2007-02-07 01:09
银牌会员 发帖 464 积分 1,212
用VBS写的,首先要把昨天生成的文件以日期形式命名如:2006-2-6.txt。在你输入价格之后它会生成两个文件,一个是以当天命名的文件(如:2007-2-7.txt),这里记录的是今天的金额,还有一个文件是“今天和昨天的差额.txt”,这里记录的是昨天和今天的差额。(所以“今天和昨天的差额.txt”这个文件每天都会改变,自己试一下...)


[ Last edited by jmz573515 on 2007-2-6 at 01:04 PM ]
第19楼 anqing 发表于 2007-02-07 01:15
高级用户 发帖 413 积分 859
真的谢谢楼上的兄弟
我想用bat生成,效果差一点,也没有关系
vbs,我不懂。所以不能灵活运用,在现实的工作中
再次感谢你!!
第20楼 anqing 发表于 2007-02-07 01:42
高级用户 发帖 413 积分 859
运行不了,报错
第21楼 anqing 发表于 2007-02-07 01:51
高级用户 发帖 413 积分 859
可以运行了,但是,每次输入,明明只有三项,第四项是什么呀,如果第四项不输入的话,就不能生成哪两个txt文件,可我哪里没有第四项呀?
第22楼 jmz573515 发表于 2007-02-07 01:57
银牌会员 发帖 464 积分 1,212
那是你昨天的文件最后有两个空行,删除一个空行就好了。
第23楼 anqing 发表于 2007-02-07 02:05
高级用户 发帖 413 积分 859
我试试
可以了
vbs,功能和界面确实强
我想学习一个vbs
就从,你的vbs学起,能指点一下吗?

[ Last edited by anqing on 2007-2-7 at 02:07 AM ]
第24楼 jmz573515 发表于 2007-02-07 02:07
银牌会员 发帖 464 积分 1,212
我也是菜鸟类~:(
不过可以给你点建议,多看别人的代码,自己研究就是了。

[ Last edited by jmz573515 on 2007-2-6 at 01:10 PM ]
第25楼 anqing 发表于 2007-02-07 02:09
高级用户 发帖 413 积分 859
我想弄懂,你的这个v,然后能灵活运用它
每天的项目不一定,就只有三项,也许有天会增加,减少
我运行一下,这个v好像是取前一天的名称项目,如果第二天没有哪个项目的话,也会要求输入它的数值,只好输入0了
总知
先学会看懂这个v吧
第26楼 anqing 发表于 2007-02-07 02:17
高级用户 发帖 413 积分 859
Originally posted by jmz573515 at 2007-2-7 02:07:
我也是菜鸟类~:(
不过可以给你点建议,多看别人的代码,自己研究就是了。

[ Last edited by jmz573515 on 2007-2-6 at 01:10 PM ]




我个人表达能力不算强,但你认真地看懂了,并且用所学的知识,vbs脚本,把它写出来,这种创造力的能力,已经不简单了!
佩服
第27楼 anqing 发表于 2007-02-07 02:46
高级用户 发帖 413 积分 859
我想弄懂,你的这个v,然后能灵活运用它
每天的项目不一定,不是只有三项,也许每天会增加,减少项目!?
我运行一下你的v,这个v好像是取前一天的名称项目,如果第二天没有哪个项目的话,也会要求输入它的数值,如果不输入的话,就不能生成哪两个txt文件,这个怎么解决?

如果没有,能不能敲一个回车跳过,继续其它名称项目
还有一些细节问题没有解决?
第28楼 anqing 发表于 2007-02-07 06:01
高级用户 发帖 413 积分 859
自己顶起,因为,问题没有全部解决
第29楼 redtek 发表于 2007-02-07 23:45
金牌会员 发帖 1,147 积分 2,902
兄把第18楼jmz573515兄代码每行都加入中文注释:)

虽没学过VBS,但兄如果全加上注释并再找一个VBS命令索引或可以查询VBS函数或语法的帮助文件,这样就可自己修改并无师自通啦:)

[ Last edited by redtek on 2007-2-7 at 10:46 AM ]
第30楼 anqing 发表于 2007-02-08 00:11
高级用户 发帖 413 积分 859
谢谢r兄
昨天学了一下vbs
自己改一下
dim jintian
Set ws=CreateObject("wscript.shell")
Set fso=CreateObject("scripting.filesystemobject")

Set fle=fso.opentextfile(dateadd("d",-6,date) & ".txt")
Do While fle.atendofstream<>true
m=fle.readline
ff=replace(m,glhz(m),"")
s=s & chae(ff,glhz(m)) & vbcrlf
loop
fle.close

Set file=fso.createtextfile(date & ".txt")
file.write jintian
file.close

Set file=fso.createtextfile("今天和昨天的差额.txt")
file.write s
file.close
ws.run "notepad.exe 今天和昨天的差额.txt",,true
msgbox "请查看【" & date & ".txt】文件,看看输入是否正确。",4096+48,"操作完成"

Function chae(xm,je)
do until a=1

sdf=inputbox("请输入【" & xm & "】的金额:",xm)
if sdf="" then
wscript.quit
elseif IsNumeric(sdf)<>true then
msgbox "输入错误,请重新输入。",16+4096,"错误"
else
a=1
end if
loop
if sdf>0 then
chae=xm & sdf-je
end if
jintian=jintian & xm & sdf &vbcrlf
a=0
End Function

Function glhz(zhifu)
a=Len(zhifu)
For i=1 To a
b=Mid(zhifu,i,1)
If IsNumeric(b)=True then
glhz=glhz&Mid(zhifu,i,1)
End if
next
end Function
当没有项的时候,输入0,就可以了
上一页  1 2 3  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023