Suchst Du Sowas in der Art?
Code:
Private Function ExtractFileNameFromPath(ByVal FilePath As String) As String
Return FilePath.Substring(FilePath.LastIndexOf("\") + 1)
End Function
Private Sub DeleteFileNameFromFile(ByVal FilePath As String, ByVal FileName As String)
Dim Lines As New List(Of String)
Dim Line As String
Dim sr As New System.IO.StreamReader(FilePath)
While Not sr.EndOfStream
Line = sr.ReadLine
If ExtractFileNameFromPath(Line) <> FileName Then
Lines.Add(Line)
End If
End While
sr.Close()
sr.Dispose()
Dim sw As New System.IO.StreamWriter(FilePath)
For Each Line In Lines
sw.WriteLine(Line)
Next
sw.Close()
sw.Dispose()
End Sub
Aufruf:
Code:
DeleteFileNameFromFile("c:\test.txt", "blub.txt")
//kürzer
Code:
Private Sub DeleteFileNameFromFile1(ByVal FilePath As String, ByVal FileName As String)
Dim Lines() As String = IO.File.ReadAllLines(FilePath)
Dim sw As New System.IO.StreamWriter(FilePath)
For Each Line In Lines
If ExtractFileNameFromPath(Line) <> FileName Then
sw.WriteLine(Line)
End If
Next
sw.Close()
sw.Dispose()
End Sub