Question insert file name in every line of the same file

Tazo85

Member
Joined
Aug 31, 2012
Messages
7
Programming Experience
Beginner
I have text file named 080512.txt (MMDDYY) with 17,000 lines of comma delimited data in it, like


AAA, BBB, CCC
AA1, BBB1, CCC1
etc.


I'm trying to insert the file name as a separate column in file, like


AAA, BBB, CCC, 080512
AA1, BBB1, CCC1, 080512
etc.


Can some please suggest a sample code that I can work with? Your help is much appreciated.


Thanks
 
        Dim lines() As String = System.IO.File.ReadAllLines(filename)
        For i = 0 To lines.Length - 1
            lines(i) = lines(i) & "," & filename.Substring(0, filename.Length-5)
        Next
        System.IO.File.WriteAllLines(filename, lines)
 
        Dim lines() As String = System.IO.File.ReadAllLines(filename)
        For i = 0 To lines.Length - 1
            lines(i) = lines(i) & "," & filename.Substring(0, filename.Length-5)
        Next
        System.IO.File.WriteAllLines(filename, lines)


Thanks Dunfiddlin!!!

Short code that works perfectly. Exactly what I was looking for.

Dunfiddlin, how can I add another loop that will repeat this process for all *.txt files in certain directory...

I'm trying:

==================================================================
Sub Test ()
Dim filenames() As String = Directory.GetFiles("G:\")
Dim i, ii As Integer
Dim filename As String
filename = Path.GetFileName(filenames(i))
Dim lines() As String = System.IO.File.ReadAllLines(filename)


For i = 0 To filenames.Length - 1 'files
For ii = 0 To lines.Length - 1 'dates
lines(ii) = lines(ii) & "," & filename.Substring(0, filename.Length - 5)
Next 'dates
System.IO.File.WriteAllLines(filename, lines)
Next 'files
End Sub
===========================================
I don't get any build errors but code is just not working.

Thanks!
 
        Dim filenames = My.Computer.FileSystem.GetFiles("G:\", FileIO.SearchOption.SearchAllSubDirectories) 'you can also use TopLevelOnly
        For Each filename As String In filenames
            Dim lines() As String = System.IO.File.ReadAllLines(filename)
            For i = 0 To lines.Length - 1
                lines(i) = lines(i) & "," & filename.Substring(0, filename.Length - 5)
            Next
            System.IO.File.WriteAllLines(filename, lines)
        Next
 
        Dim lines() As String = System.IO.File.ReadAllLines(filename)
        For i = 0 To lines.Length - 1
            lines(i) = lines(i) & "," & filename.Substring(0, filename.Length-5)
        Next
        System.IO.File.WriteAllLines(filename, lines)


Perfect! Thanks a lot.
 
Back
Top