如何使用VBSCRIPT+FSO在文本中读取特定的字符串?

fightgod2400 2006-04-20 04:35:58
有一个文本文件,其内容如下,
************1.txt**********************************
(000001)
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
(000001)
yyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyy
(000001)
zzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzz
(000002)
aaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaa
(000002)
bbbbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbbbb
(000002)
cccccccccccccccccccccccccccc
cccccccccccccccccccccccccccc
cccccccccccccccccccccccccccc
(000001)
dddddddddddddddddddddddddddd
dddddddddddddddddddddddddddd
dddddddddddddddddddddddddddd
(000001)
eeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeee
************1.txt**********************************

现在我想把1.txt中属于(000001)部分的内容提取出来,存为2.txt,如下,请问使用VBSCRIPT+FSO应该如何实现?谢谢大家!!!

************2.txt**********************************
(000001)
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
(000001)
yyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyy
(000001)
zzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzz
(000001)
dddddddddddddddddddddddddddd
dddddddddddddddddddddddddddd
dddddddddddddddddddddddddddd
(000001)
eeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeee
************2.txt**********************************
...全文
126 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
soft_2008 2006-04-22
  • 打赏
  • 举报
回复
- -
fightgod2400 2006-04-22
  • 打赏
  • 举报
回复
运行结果总是“堆栈溢出”,或者是“内存不够”,请大家帮忙看看,谢谢啦

<%
Option Explicit
on error resume next



Dim msg, JudgeLine, msgNeed, fso, f, g, JS_Value1

msg = ""
msgNeed = ""


'判断行的属性
Function JS_JudgeLine(JS_Value)

JS_Value1 = Left(Trim(JS_Value),1)
If JS_Value1 = "(" Then
If Mid(JS_Value,1,8) = "(600403)" Then
JS_JudgeLine = 1 '(000001)
Else
JS_JudgeLine = 2 '(xxxxxx)
End If
Else
JS_JudgeLine = 3 '(普通行)
End If

End Function

'主函数,从这里开始
Function Main()

'判断行属性
JudgeLine = JS_JudgeLine(msg)



If JudgeLine = 1 Then


Call JS_A()



ElseIf JudgeLine = 2 Then


Call JS_B()


ElseIf JudgeLine = 3 Then



Call JS_C()


End If


End Function


'(000001)类型行处理
Function JS_A()

'将当前行追加到变量
'msgNeed = msgNeed & msg

g.WriteLine msg


If f.AtEndOfStream Then Exit Function
msg = f.ReadLine

'判断行属性
JudgeLine = JS_JudgeLine(msg)

If JudgeLine = 1 Then

Call JS_A()

ElseIf JudgeLine = 2 Then

Call JS_B()

ElseIf JudgeLine = 3 Then

Call JS_A()

End If

End Function


'(xxxxxx)类型行处理
Function JS_B()


If f.AtEndOfStream Then Exit Function
f.ReadLine


Call Main()

End Function


'(普通行)类型行处理
Function JS_C()

'If f.AtEndOfStream Then Exit Function
f.ReadLine


Call Main()

End Function




Set fso = CreateObject("Scripting.FileSystemObject")

Set g = fso.CreateTextFile(Server.MapPath("1.txt"), 8, False)

Set f = fso.OpenTextFile(Server.MapPath("XW060331.TXT"), 1, False)

'读取第一行
msg = f.ReadLine

Call Main()

f.Close

Set f = Nothing

g.Close

Set g = Nothing

'Response.Write msgNeed

%>
fightgod2400 2006-04-22
  • 打赏
  • 举报
回复
呀,终于完成啦,谢谢大家!我的QQ是12704904,希望能和大家一起探讨技术!
fightgod2400 2006-04-21
  • 打赏
  • 举报
回复
继续向大家请教
顺子 2006-04-21
  • 打赏
  • 举报
回复
不会,学习,帮你UP
fightgod2400 2006-04-20
  • 打赏
  • 举报
回复
谢谢啦,1.txt是对原来文本文件的精简,格式就是这样的^_^
  • 打赏
  • 举报
回复
只有000001和000002么??

详细说一下
fightgod2400 2006-04-20
  • 打赏
  • 举报
回复
请高手帮帮忙呀,BOSS指派的任务,明天就要交工了,谢谢谢谢!!!

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧