Codice PHP:
Public Sub ServiceWorkerMethod()


        
Dim StringaDiRitorno As String
        Dim line_primo_inserimento 
As String
        Dim line_completa 
As String
        Dim line 
As String

        Dim NumChiavi 
As Integer
        Dim i 
As Integer
        Dim percorso 
As String
        Dim a 
As Integer
        Dim z 
As Integer
        Dim percorso_uno 
As String
        Dim percorso_due 
As String

        
        
Do

            
'legge la path della directory, prende tutti i file nella directory e scrive i nomi sul file INI
                       Dim fi As String() = Directory.GetFiles(Path, "*.txt")


          
            Array.Sort(fi)

            For a = 0 To fi.Length - 1
                ScriviIni("...Configurazione.ini", "Parametri", "EnneChiave" & CStr(a), fi(a))
            Next a

            '
scrive il numChiavi
            ScriviIni
("...Configurazione.ini""Parametri_Chiavi""ContatoreChiavi"1)

            
'scrive i file di destinazione, i CSV
            For a = 0 To fi.Length - 1
                ScriviIni("...Configurazione.ini", "Parametri_Scrittura", "MiaChiave" & CStr(a), fi(a).Replace("txt", "csv"))
            Next a

            '
processo di modifica dei vari files
            NumChiavi 
Val(...Configurazione.ini", "Parametri_Chiavi", "ContatoreChiavi"))

            For i = 0 To NumChiavi
                Dim sr As StreamReader = New StreamReader(LeggiIni("
...Configurazione.ini", "Parametri", "EnneChiave" & CStr(i)))
                Dim sw As StreamWriter = New StreamWriter(LeggiIni("
...Configurazione.ini", "Parametri_Scrittura", "MiaChiave" & CStr(i)))

                line = sr.ReadLine()

                While Not line Is Nothing
                    line_primo_inserimento = ""
                    line_completa = ""

                    line_primo_inserimento = line.Insert(LeggiIni("
...Configurazione.ini", "Posizione_Inserimento", "Primo_Inserimento"), LeggiIni("...Configurazione.ini", "Path_Inserimento", "Percorso_Prima"))
                    line_completa = line_primo_inserimento.Insert(LeggiIni("
...Configurazione.ini", "Posizione_Inserimento", "Secondo_Inserimento"), LeggiIni("...Configurazione.ini", "Path_Inserimento", "Estensione_Dopo"))
                    sw.WriteLine(line_completa)
                    line = sr.ReadLine()
                End While

                sr.Close()
                sw.Close()

                'scrive il nuovo percorso per i file nel file INI
                For a = 0 To fi.Length - 1
                    ScriviIni("
...Configurazione.ini", "Parametri_Cartella_Destinazione", "MiaChiave" & CStr(a), fi(a).Replace("PROVA", "ARCHIVIO"))
                Next a

                'sposta i file da un percorso all'altro
                percorso_due = LeggiIni("
...Configurazione.ini", "Parametri_Cartella_Destinazione", "MiaChiave" & CStr(i))
                percorso_uno = LeggiIni("
...Configurazione.ini", "Parametri", "EnneChiave" & CStr(i))
                File.Move(percorso_uno, percorso_due)

            Next i

        Loop

    End Sub


    'inizio del servizio
    Protected Overrides Sub OnStart(ByVal args() As String)

        Dim workerThread = New Thread(New ThreadStart(AddressOf ServiceWorkerMethod))
        workerThread.Start()

    End Sub



    Protected Overrides Sub OnStop()


    End Sub 
Ovviamente in precedenza ho inserito le proprietà di LeggiIni e ScriviIni

In generale il programma: guarda tutti i txt presenti in una cartella (chiamata PROVA), interagisce con il file Ini di configurazione per scrivere e recuperare i percorsi dei file, modifica le linee del testo in determinati punti, crea i .CSV (che non sono altro che i file di testo modificati) e sposta i file .txt in un'altra cartella (chiamata ARCHIVIO)

l'ideale però sarebbe che, inserendo un file nella directory anche a processo avviato, questo venga modificato etc

spero di essere stato un po' + chiaro..