Board logo

标题: [文本处理] 批处理如何计算TXT文件下某个数据的总和? [打印本页]

作者: kunty    时间: 2012-10-16 16:50     标题: 批处理如何计算TXT文件下某个数据的总和?

怎么算出,圆的周长和所有直线的长度的总和,急用麻烦各位大神关注一下
小弟现在这里谢谢了
作者: apang    时间: 2012-10-16 20:36

  1. Set FSO = CreateObject("Scripting.FileSystemObject")
  2. Set File = FSO.OpenTextFile("a.txt",1)
  3. Do Until File.AtEndOfStream
  4.    A = Split(File.ReadLine,":")
  5.    If Trim(A(0)) = "周长" Then L1 = L1 + CSng(A(1))
  6.    If Trim(A(0)) = "长度" Then L2 = L2 + CSng(A(1))
  7. Loop
  8. MsgBox "周长总和:" & L1 & vbCrLf & "长度总和:" & L2
复制代码
保存为vbs,与a.txt放在同一位置,试试
作者: kunty    时间: 2012-10-17 04:08

回复 2# apang


    很好,很强大!非常感谢!
作者: kunty    时间: 2012-10-19 15:37

回复 2# apang



   程序很好,不过我自己加了点东西,有时候会报错如图所示,改后代码如下:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.OpenTextFile("attribute.txt",1)
Do Until File.AtEndOfStream
   A = Split(File.ReadLine,":")
   If Trim(A(0)) = "周长" Then L1 = L1 + CSng(A(1))
   If Trim(A(0)) = "长度" Then L2 = L2 + CSng(A(1))
   If Trim(A(0)) = "弧长" Then L3 = L3 + CSng(A(1))
   L4=L1+L2+L3
Loop
MsgBox "周长总和:" & L4
作者: apang    时间: 2012-10-19 16:35

回复 4# kunty

代码与txt文档放在一起了吗?如果不在一起,请写绝对路径,象这样:
Set File = FSO.OpenTextFile("D:\abc\a.txt",1)
作者: kunty    时间: 2012-10-22 11:23

回复 5# apang


    是放在一起的
作者: apang    时间: 2012-10-22 14:42

回复 6# kunty


    错误提示就是第2行的文件名有问题
将文档拖拽到vbs上看如何:
  1. Set Arg = WScript.Arguments
  2. If Arg.Count = 0 Then MsgBox "拖拽Txt文档" :Wscript.Quit
  3. Set FSO = CreateObject("Scripting.FileSystemObject")
  4. Set File = FSO.OpenTextFile(Arg(0),1)
  5. Do Until File.AtEndOfStream
  6.    strLine = File.ReadLine
  7.    If Not strLine = "" Then
  8.       A = Split(strLine,":")
  9.       If Trim(A(0)) = "周长" Or Trim(A(0)) = "长度" _
  10.       Or Trim(A(0)) = "弧长" Then L = L + CSng(A(1))
  11.    End If
  12. Loop
  13. MsgBox "长度总和:" & L
复制代码





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