Suchen und Ersetzen in txt ?

Noe, ist es nicht :)

Code:
private StreamWriter log;

private void Test()
{
    this.log = new StreamWriter(@"E:\temp\log.txt"); // ausgabe datei
    this.LoopDir(@"E:\temp");  // hauptverzeichniss in dem sich deine unterordner und .mp3 befinden
    this.log.Flush();
    this.log.Close();
}

private void LoopDir(string path)
{
    string[] files = Directory.GetFiles(path);
    for (int i = 0; i < files.Length; i++) // in dieser schleife koenntest du gleich aenderungen an den strings vornehmen
        if(new FileInfo(files[i]).Extension == ".cs") // hier das dateiformat bestimmen z.b. .mp3
            this.log.WriteLine(files[i]);

    string[] dirs = Directory.GetDirectories(path);
    for(int i = 0; i < dirs.Length; i++)
        this.LoopDir(dirs[i]);
}
 
Ja vielen Dank, das sieht richtig gut aus (soweit ich es sehen kann).
Aber, wie rufe ich diese Funktionen auf?
Ich habe versucht diese Funktionen mit einem Button aufzurufen aber... geht nicht.
Kannst du mir bitte noch ein kleines Stück helfen ?
Danke
 
Eigentlich musst du nur die 'Test()' Methode aufrufen. Vorher aber noch die Pfade aendern. Mehr ist da nicht zu machen.
 
SUPER,
das hat geklappt...
man mit dem musicmatch dauert das exportieren unheimlich lange aber damit ruckzuck
DANKE
jetzt werde ich mich noch mit der Formatierung beschäftigen...
und das ich evtl die Verzeichnisse (die exportiert werden sollen) mit FolderBrowserDialog angeben kann.
Allerdings habe ich schon versucht:
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.ShowDialog();
ABER ich kann jetzt nicht sagen: fbd.SelectedPath....?
Kannst du mir dabei Bitte auch noch helfen?
Danke
 
Wenn du SelectedPath setzt, bevor du Show aufrufst, dann startet der Browser beim angegebenen Pfad.

Danach startest du mit ShowDialog deinen Dialog udn fängst den Returnwert ab (Hier auf OK komtrollieren) dann hast du den ausgewählten Pfad in SelectedPath.

War es das was du suchtest oder hab ich dich falsch verstanden.

MFG JJB

_
 
Werde ich gleich probieren,
man ich habe jetzt noch ein neues Verzeichnis mitrangehängt, was sich auf einer anderen Partition befindet
es ist fszinierend, wie schnell das geht... TOLL
Du hattest in deinem Kommentar geschrieben:
for (int i = 0; i < files.Length; i++) // in dieser Schleife koenntest du gleich Aenderungen an den strings vornehmen
Wenn ich jetzt: [LeerzeichenMinusLeerzeichen] mit Backslash ersetzen will,
hatte ich ja erst versucht mit Indizies rumzuhantieren, wie kann ich diese Formatierung hier gleich vornehmen?
Ich hoffe, ich nerve nicht zu sehr...
Aber das Wissen, was ich mir jetzt aneigne, damit kann ich evtl auch anderen helfen
und mal ehrlich: In Fachbüchern steht zwar vieles aber aufgezeigte Methoden an seine eigenen Bedürfnisse anzupassen ist gar nicht sooo einfach
Danke nochmal
gruß Frank
 
Hi,

ich denke mal es sollte mit der .Replace(..) Methode funktionieren:
Code:
for (int i = 0; i < files.Length; i++) // in dieser schleife koenntest du gleich aenderungen an den strings vornehmen
{
	if(new FileInfo(files[i]).Extension == ".cs") // hier das dateiformat bestimmen z.b. .mp3
	{
		files[i] = files[i].Replace(" - ", "\\"); // wenn das nicht geht einfach mit den methoden der 'String' klasse herumspielen. 
		this.log.WriteLine(files[i]);
	}
}
Wenn du die Test() Methode noch ein wenig ausbaust, koenntest du den FolderBrowserDialog so benutzen:
Code:
// button click event
if(this.folderBrowserDialog1.ShowDialog() == DialogResult.OK)
	this.Test(this.folderBrowserDialog1.SelectedPath);
 
Deletemaster hat gesagt.:
Ich hoffe, ich nerve nicht zu sehr...
Aber das Wissen, was ich mir jetzt aneigne, damit kann ich evtl auch anderen helfen
und mal ehrlich: In Fachbüchern steht zwar vieles aber aufgezeigte Methoden an seine eigenen Bedürfnisse anzupassen ist gar nicht sooo einfach
;)
Du nervst nicht, denn genau aus diesem Grund gibt es Foren. Und das ist ein Trost für viele die sich nicht mit tausenden Büchern quälen wollen, in denen darüber hinaus viel zu viel von dem steht, was du bestimmt nicht brauchst. Und sie antworten auch auf keine Fragen.

:offtopic:
Dieses Problem hatte ich, als ich derzeit anfing zu Programmieren. Doch zugegeben nicht jedes Forum heißt Anfänger Willkommen. Manche Spezis sitzen auf einem ziemlich hohen Ross.

_
 
Danke, Replace... klappt prima !
Es ist erstaunlich, als ich mit "musicmatch" die dateien einem "Archiv" übergeben habe, musste ich die Textdatei "formatieren", um später mit Access die Daten importieren zu können!
Allein das Formatieren des Textes mit "Suchen und Ersetzen "(Editor) dauerte bei über 8000 Zeilen einige Minuten ! Jetzt bemerke ich nicht mal, daß im Hintergrund eine Anwendung läuft...(sekundenschnell)
Und jetzt geht's an die Oberfläche... ein bischen Luxus soll ja sein ;)))
Danke !
 
Vieken Dank noch mal für eure Hilfe,
ich habe bereits in einem anderen Forum ein Problem gepostet, aber es meldet sich niemand. (Datenbank Update -Import aus txt)
Vielleicht habt ihr eine lösung
zum link
Danke
 
Zurück