Søge i mapper rekursivt. Men med "undtagelser"

Tags:    visual-basic

Hej

Jeg skal finde en bestemt type filer (.tmp) i nogle bestemte foldere (Middle) som skal kopieres til en destinationsfolder.

Mit problem er at det er noget kode som jeg skal refaktorere i Visual Basic (som jeg ikke rigtig kender).

Som det er nu, søges der kun i én bestemt sti, hvor "Middle" folderen er den sidste mappe i stien.

Der er dog kommet flere forskellige "Middle" foldere, og .tmp-filerne kan godt ligge i underfoldere til Middle. F. eks.:

\\...\\udv\\Middle <-heri ligger .tmp filer
\\...\\udv\\Middle\\Vims <-heri ligger .tmp filer
\\...\\udv\\Eks\\Middle <-heri ligger .tmp filer

BEMÆRK, at .tmp filer også findes i Eks folderen, men disse skal ikke med.

Da stien er den samme indtil og med \\udv folderen må dette være et godt sted at starte.

Men hvordan implementerer jeg lige en løsning der hedder at jeg vil søge i Middle-foldere (samt underfoldere) efter tmp-filer.

Jeg anvender en rekursiv funktion til at søge mappe strukuren igennem, men denne kigger alle mapper igennem. Mit problem er at jeg ikke kan greje hvordan jeg kigger efter filer i "Middle"-mapper og undermapper i disse.

Jeg kan via FullName property'en godt udvælge de mapper-stier der ender på "Middle" og det er så herfra jeg skal søge rekursivt. Men når jeg så har Mappe-stierne, kan jeg ikke rigtig hitte ud af at konvertere det fra string til DirectoryInfo så at sige.

Håber jeg har forklaret det godt nok. Ellers må I lige sige til.




1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Her er en funktion til VB.NET, som søger i undermapper, i en valgt mappe/drev.

Kan ikke lige huske hvad det er for en teknologi jeg har klikket mig ind på.

Den her udelader mapperne "System Volume Information" og "Eks", plus alle undermapper.

Hvis du kun vil have at den udelader roden af Eks, men stadig søger i undermapperne deri, må du ændre den lidt.

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 21.01.2008 13:14 af Bruger #1927
t