vbs刪除文本文件的行的函數(shù)

字號(hào):


    有時(shí)候我們需要?jiǎng)h除文本文件的指定的一行內(nèi)容,下面是具體的函數(shù)
    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