首页 > 编程 > VBScript > 正文

vbs删除文本文件的行的函数

2020-06-26 18:17:28
字体:
来源:转载
供稿:网友
有时候我们需要删除文本文件的指定的一行内容,下面是具体的函数
 
Delete Line Function
复制代码代码如下:

Function DeleteLine(strFile, strKey, LineNumber, CheckCase) 
'DeleteLine Function by TomRiddle 2008 

'Remove line(s) containing text (strKey) from text file (strFile) 
'or 
'Remove line number from text file (strFile) 
'or 
'Remove line number if containing text (strKey) from text file (strFile) 

'Use strFile = "c:/file.txt" (Full path to text file) 
'Use strKey = "John Doe" (Lines containing this text string to be deleted) 
'Use strKey = "" (To not use keyword search) 
'Use LineNumber = "1" (Enter specific line number to delete) 
'Use LineNumber = "0" (To ignore line numbers) 
'Use CheckCase = "1" (For case sensitive search ) 
'Use CheckCase = "0" (To ignore upper/lower case characters) 


Const ForReading=1:Const ForWriting=2 
Dim objFSO,objFile,Count,strLine,strLineCase,strNewFile 
Set objFSO=CreateObject("Scripting.FileSystemObject") 
Set objFile=objFSO.OpenTextFile(strFile,ForReading) 
Do Until objFile.AtEndOfStream 
strLine=objFile.Readline 
If CheckCase=0 then strLineCase=ucase(strLine):strKey=ucase(strKey) 
If LineNumber=objFile.Line-1 or LineNumber=0 then 
If instr(strLine,strKey) or instr(strLineCase,strkey) or strKey="" then 
strNewFile=strNewFile 
Else 
strNewFile=strNewFile&strLine&vbcrlf 
End If 
Else 
strNewFile=strNewFile&strLine&vbcrlf 
End If 
Loop 
objFile.Close 
Set objFSO=CreateObject("Scripting.FileSystemObject") 
Set objFile=objFSO.OpenTextFile(strFile,ForWriting) 
objFile.Write strNewFile 
objFile.Close 

End Function 

使用方法:
DeleteLine "c:/1.txt", "", 1, 0

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表