永发信息网

VBS比较两个文本的内容

答案:3  悬赏:20  手机版
解决时间 2021-01-30 19:10
文本 1.txt 的内容

接口统计

接收的 发送的

字节 39654715 10281299
单播数据包 56145 49240
非单播数据包 32370 12412
丢弃 0 0
错误 0 0
未知协议 0

文本 2.txt 的内容

接口统计

接收的 发送的

字节 56854715 15651299
单播数据包 534345 494440
非单播数据包 323340 124442
丢弃 0 0
错误 0 0
未知协议 0

现在需要分别比较两个文本中 第五行 (开头:字节) 的大小
56854715 - 39654715 = a

15651299 - 10281299 = b
把 a , b 存到文本 3.txt 中
最佳答案
dim fso,file(1),read(1),list,StringIntercept,readlist,string_handle(1),string_replace,StringIntercept_var,string_compare(1),string_finally,apc_var(1),count
set fso=createobject("scripting.filesystemobject")
file(0)="1.txt" '文件a
file(1)="2.txt" '文件b
find="字节" '查找字符串
count=96 '做个标记
for list=0 to 1 '遍历文件内容
count=count+1
apc_var(list)=chr(count)
 read(list)=fso.opentextfile(file(list)).readall '读取全文
 StringIntercept=split(read(list),vbcrlf) '截取每行
 for each readlist in StringIntercept '遍历每行
  if instr(readlist,find)>0 then '判断是否存在要查找的字符,存在则执行
   string_replace=string_trim(replace(readlist,find,empty),space(1)) '剔除查找到的字符
   StringIntercept_var=split(string_replace,space(1)) '截取两边的数字
   string_handle(0)=string_handle(0)&StringIntercept_var(0)&space(1) '把A与B中的前半部分数字储存到数组A
   string_handle(1)=string_handle(1)&StringIntercept_var(1)&space(1) '把A与B中的后半部分数字储存到数组B
   exit for
  end if
 next 

next
for list=0 to 1 '遍历数组中两个部分的大小
 string_compare(list)=split(string_handle(list),space(1)) '截取空格左右两段落
 if string_compare(list)(0)>string_compare(list)(1) then '判断大小
  string_finally=string_finally&string_compare(list)(0)&" = "& apc_var(list) & vbcrlf '如果A大于B返回A的结果
 else
  string_finally=string_finally&string_compare(list)(1)&" = "& apc_var(list) & vbcrlf '如果A小于B返回B的结果
 end if
next
string_finally=left(string_finally,len(string_finally)-2)
fso.createtextfile("3.txt").write string_finally '写入3.txt文件中
set fso=nothing
 function string_trim(string,Intercept_var) '过滤字符串,剔除多余空格部分
 string=Intercept_var&string
 dim listA
 for listA=1 to len(string)
 if instr(mid(string,listA,1),Intercept_var)=0 then
  if instr(mid(string,listA-1,1),Intercept_var)>0 then
   string_trim=string_trim&Intercept_var
  end if
  string_trim=string_trim&mid(string,listA,1)
 end if
 next
string_trim=right(string_trim,len(string_trim)-1)
end function
全部回答
打开文件,按行读入。当读到指定行时存入变量。 因为你要用的行有多个数据,请把它们拆分,然后把要的存入变量。 由于是文本,而又要计算,所以要进行格式转换。 你的数值的数据类型要用长整形。
将这代码稍稍改动一下便行: Const ForReading = 1 Const ForWriting = 2 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objScriptFile = objFSO.OpenTextFile("c:\scripts\Service_Monitor.vbs", _ ForReading) Set objCommentFile = objFSO.OpenTextFile("c:\scripts\Comments.txt", _ ForWriting, TRUE) Do While objScriptFile.AtEndOfStream <> TRUE strCurrentLine = objScriptFile.ReadLine intIsComment = Instr(1,strCurrentLine,"'*") If intIsComment > 0 Then objCommentFile.Write strCurrentLine & VbCrLf End If Loop objScriptFile.Close objCommentFile.Close
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
金毛犬瘟热咳嗽怎么办
相书上说主有讼词,之事小吉是什么意思
贷款20000利息3厘怎么算,贷款20000一年,利
世间诸苦难与人言是什么意思
苹果屏幕出现像墨水一样的黑块状,还有好几条
某长方形长宽的比是8:5,宽增加4米长减少2米
USDA在美国哪个州
什么公好龙啊?
银行等额本金还款计算器
神的英语单词是什么
威士忌怎么调制着好喝?
女儿和爸爸有爱的故事
蓝牙耳机怎么用?蓝牙耳机使用方法详解
某患者左耳流脓1年,脓稀不臭。检查发现左鼓
道路交通法道路上骑自行车的规定有哪些
推荐资讯
【阿姆斯特朗登月】阿姆斯特朗登月之后曾说:
有一首歌,只记得有一句叫“像雪花一样的柔柔
潍坊美术学校地址好找么,我有些事要过去
家里翻出个老键盘,不是机械键盘,求大神帮我
美小护的介绍
【桅怎么读】桅子花怎么读
雨婷窗帘·墙纸地址在什么地方,我要处理
瞳睁视力管家是不是也做视疲劳啊?最近感觉电
打零工,老板不肯付工资,怎么办?
网点房过户卖方和买方都要缴纳什么费用
简单介绍一下克罗地亚这个国家和瓦拉日丁这个
衢州帝豪宾馆怎么去啊,我要去那办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?