VB.NET Bir klasördeki txt dosyalanının içeriğini nasıl birleştirebilirim?

Bu konuyu okuyanlar

Vatansever

Asistan
Katılım
23 Ağustos 2007
Mesajlar
405
Reaksiyon puanı
1
Puanları
18
Bir klasörde çok sayıda text dosyası(NotDefteri dosyası) var bunların içlerindeki yazıları birleştirip tek bir text dosyası yapmak istiyorum nasıl yapabilirim
Aşağıdaki kodu buldum nasıl düzenliyceğimi anlamadım
Kod:
Dim linesFromFile1() As String
Dim linesFromFile2() As String
Dim combinedLines As New List(Of String)  

linesFromFile1 = System.IO.File.ReadAllLines("file1")
linesFromFile2 = System.IO.File.ReadAllLines("file2")

For linePos As Integer = 0 To System.Math.Max(linesFromFile1.Length, linesFromFile2.Length) - 1
    If linePos < linesFromFile1.Length Then combinedLines.Add(linesFromFile1(linePos))
    If linePos < linesFromFile2.Length Then combinedLines.Add(linesFromFile2(linePos))
    Next

System.IO.File.WriteAllLines("file3", combinedLines.ToArray())

Benim çalışmam aşağıda sadece ilk txt dosyasını yeni dosyaya aktarıyor diğerlerini aktarmıyor
Kod:
        Dim dirs As String() = Directory.GetFiles(Application.StartupPath & "\Yazılar\", "*.txt")
        Dim dosyalar As String
        Dim readText() As String

        For Each dosyalar In dirs
                readText = File.ReadAllLines(dosyalar, Encoding.UTF8) ' sözde bütün dosyaların içeriğini readText içine aktarması lazım sadece birini aktarıyor
        Next

        Dim s As String
        For Each s In readText
            IO.File.AppendAllText(Application.StartupPath & "\YeniTXT.txt", s & vbNewLine, Encoding.UTF8) ' readText içeriğini YeniTXT.txt dosyasına aktarıyor
        Next


:drool:
 

Vatansever

Asistan
Katılım
23 Ağustos 2007
Mesajlar
405
Reaksiyon puanı
1
Puanları
18
Vay be sonunda oldu nasıl gözden kaçırmışım

Kod:
        Dim dirs As String() = Directory.GetFiles(Application.StartupPath & "\Yazılar\", "*.txt")
        Dim readText() As String
        Dim dosyalar As String

        For Each dosyalar In dirs
                readText = File.ReadAllLines(dosyalar, Encoding.UTF8)
                
                Dim s As String
                For Each s In readText
                    IO.File.AppendAllText(Application.StartupPath & "\YeniTXT.txt", s & vbNewLine, Encoding.UTF8)
                Next
                readText = Nothing ' bir sonraki dosyayı yüklemek için boşaltılıyor
        Next

:tt1:
 

algea

Doçent
Katılım
15 Temmuz 2011
Mesajlar
505
Reaksiyon puanı
22
Puanları
18
Vay be sonunda oldu nasıl gözden kaçırmışım

Kod:
        Dim dirs As String() = Directory.GetFiles(Application.StartupPath & "\Yazılar\", "*.txt")
        Dim readText() As String
        Dim dosyalar As String

        For Each dosyalar In dirs
                readText = File.ReadAllLines(dosyalar, Encoding.UTF8)
                
                Dim s As String
                For Each s In readText
                    IO.File.AppendAllText(Application.StartupPath & "\YeniTXT.txt", s & vbNewLine, Encoding.UTF8)
                Next
                readText = Nothing ' bir sonraki dosyayı yüklemek için boşaltılıyor
        Next

:tt1:

YeniTXT -> NewText.txt olsa daha iyi olacaktı...
 

butiksenin

Öğrenci
Katılım
4 Şubat 2015
Mesajlar
8
Reaksiyon puanı
0
Puanları
1
.NET e gerek yok aslında bunun için cmd de yapabilirsin :)
 
Üst