【发布时间】:2015-12-25 07:38:54
【问题描述】:
我编写了一个脚本来删除文件中两个匹配字符串之间的多行。
代码编写如下,但执行后会删除完整的行。谁能建议我如何实现这一点?
Const ForReading = 1
Const ForWriting = 2
count = 0
strFileName = Wscript.Arguments(0)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFileName, ForReading)
Do Until objFile.AtEndOfStream
strLine = objFile.ReadLine
flag = 0
If InStr(strLine, "BBB") = 0 Then
flag = 1
End If
If flag = 1 Then
Exit Do
End If
If count = 1 Then
If flag = 0 Then
'strNewContents = strNewContents & strLine & vbCrLf
End If
End If
If InStr(strLine, "GGG") = 0 Then
strLine = ""
'strNewContents = strNewContents & strLine & vbCrLf
count = 1
End If
Loop
objFile.Close
Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
objFile.Write strNewContents
objFile.Close
}
文件包含如下
AAA
BBB
CCC
DDD
EEE
FFF
GGG
HHH
III
JJJ
我期望输出为
AAA
HHH
III
JJJ
【问题讨论】:
标签: windows vbscript scripting