Autor Beitrag
M-Cha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67



BeitragVerfasst: Do 29.10.09 11:39 
Ich habe eine Anwendung wo die Ordner ausdenen Dateien gelsen werden unterschiedliche Namen haben.

Dafür habe ich folgende Anwendung geschrieben!

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
DirectoryInfo dir = new DirectoryInfo(pfad + @"\Vereine\test");
DirectoryInfo[] files = dir.GetDirectories();

foreach(DirectoryInfo fi in files ) 
{
  String ordner = fi.ToString();
}


Der Ordnername ist dann im String "ordner" gespeichert!

1.Frage:


Wie bekomme ich es hin, wenn der darauffolgende Ordner auch unbekannt ist? (Beispiel: Vereine\test\unbekannt\unbekannt\)


2.Frage:

Zusätzlich haben die Dateien die gelesen werden sollen, auch unterschiedliche Namen! Eventuell ist die Endung dann nur bekannt (Beispiel: xxxxx.jpg oder xxxxx.txt)
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 29.10.09 11:50 
Also fasse ich einmal zusammen. Du hast einen Oberordner, in dem du nach vorhandenen Ordnern schauen willst. Also nimmst du GetDirectories und gehst die Ordner durch.

Dein Problem jetzt: du hast einen solchen Ordner, in dem du nach vorhandenen Ordnern schauen willst...
Merkst du etwas? :zwinker:

Und zur zweiten Frage (eine Frage pro Thread...):
Du willst diesmal keine Liste von Verzeichnissen (Directories), sondern von Dateien (Files). Jetzt rate einmal wie der entsprechende Befehl heißen könnte... nicht GetDirectories, sondern...
M-Cha Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67



BeitragVerfasst: Fr 06.11.09 14:29 
Ok. GetFiles.

Mein Problem ist aber, ich möchte nur bestimmte Endungen haben.

Der soll mir nur den Namen der Files heraussuchen aber dann + die endung z.b. txt und .xml mehr nicht.
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Fr 06.11.09 14:33 
Und auch dafür hat GetFiles eine passende Überladung (SearchPattern).
Es gibt auch noch eine dritte Überladung in der du auch noch angeben kannst ob nur der Ordner an sich oder auch alle Unterordner durchsucht werden sollen.
M-Cha Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67



BeitragVerfasst: Do 12.11.09 15:12 
Super hab ich alles rausbekommen. Es stellt sich noch eine Frage!

Wie sage ich ihm, das er die .txt und .bat Dateien beachten soll!

Bis jetzt konnte ich entweder -bat oder .txt suchen!

ausblenden C#-Quelltext
1:
 FileInfo[] files = fi2.GetFiles("*.txt");					
Nemag
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 132
Erhaltene Danke: 2



BeitragVerfasst: Do 12.11.09 16:50 
Wie wäre es denn damit:?

ausblenden C#-Quelltext
1:
2:
3:
    List<FileInfo> files = new List<FileInfo>();
    files.AddRange(dir.GetFiles("*.txt"));
    files.AddRange(dir.GetFiles("*.bat"));



Hab in der MSDN jetzt nichts gefunden wo steht das auch oder-Verknüpfungen im searchPattern sein dürfen.
Übrigens sollte es glaube besser sein wenn du "*?" anstatt "*" benutzt mit zweiterem wird auch z.B. "txtt" gefunden. (Außer du willst das natürlich.)
M-Cha Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67



BeitragVerfasst: Fr 13.11.09 10:48 
user profile iconNemag hat folgendes geschrieben Zum zitierten Posting springen:
Wie wäre es denn damit:?

ausblenden C#-Quelltext
1:
2:
3:
    List<FileInfo> files = new List<FileInfo>();
    files.AddRange(dir.GetFiles("*.txt"));
    files.AddRange(dir.GetFiles("*.bat"));



Hab in der MSDN jetzt nichts gefunden wo steht das auch oder-Verknüpfungen im searchPattern sein dürfen.
Übrigens sollte es glaube besser sein wenn du "*?" anstatt "*" benutzt mit zweiterem wird auch z.B. "txtt" gefunden. (Außer du willst das natürlich.)


Habe es jetzt so gelöst:

ausblenden C#-Quelltext
1:
2:
3:
FileInfo[] files1 = di2.GetFiles("*.bat");
FileInfo[] files2 = di2.GetFiles("*.txt");
FileInfo[] files = files1.Union(files2).ToArray();