VBScript – Delete Line From a Text File

email me

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objFile = objFSO.OpenTextFile("C:\scripts\file.txt")

OldContents = Split(objFile.ReadAll, vbNewLine)

objFile.Close

NewContents = ""

For Each Line In OldContents

	If InStr(Line,"TEXT1") > 0 Or InStr(Line,"TEXT2") > 0 Then
	
		NewContents = NewContents
		
	Else
		If Len(NewContents) = 0 Then
		
			NewContents = Line
			
		Else
		
			NewContents = NewContents & vbCrLf & Line
			
		End If
		
	End If
Next

Set objFile = objFSO.CreateTextFile("C:\scripts\file.txt")

objFile.Write NewContents

objFile.Close

 

 

Dim WshShell, value, strComputer, strProcess

Set WshShell = CreateObject("WScript.Shell")

strKey = wshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")'could be any word(s) you're looking for
strFile = "C:\scripts\YourTextFile.txt"
LineNumber = "0"
CheckCase = "0"

DeleteLine strFile, strKey, LineNumber, CheckCase

 

Function DeleteLine(strFile, strKey, LineNumber, CheckCase)

'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:\scripts\YourTextFile.txt" (Full path to text file)
'Use strKey = "Alpha Bravo" (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