Avatar billede -xyz- Nybegynder
08. november 2005 - 19:15 Der er 2 kommentarer og
1 løsning

Finde filer i multiple subdirectories

Hej, jeg er ved at lave en MP3 afspiller (bare for sjov) og er kommet til at skulle lave en playlist, men nu støder jeg på et problem, for når jeg skal liste alle mine filer, tager den kun dem jeg har I lvl 0 og 1 dir.

Eks:
den tager disse filer
Mp3\Diverse

men ikke disse:
Mp3\Diverse\Kunstner

Jeg bruger lige pt. GetFileSystemInfos() og den er enormt hurtig til at liste filerne, men desværre ikke dem alle, håber i kan hjælpe

KEnneth
Avatar billede nielle Nybegynder
08. november 2005 - 19:24 #1
Med rekursion kan du få udskrevet samtlige filer i biblioteket og alle underbiblioteker:

using System;
using System.IO;

namespace e662848
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            string rootDir = @"C:\Mp3\Diverse";
            DirectoryInfo rootDi = new DirectoryInfo(rootDir);
            ScanDir(rootDi);
        }

        static void ScanDir(DirectoryInfo di)
        {
            foreach (FileInfo fi in di.GetFiles("*.mp3"))
            {
                Console.WriteLine(fi.FullName);
            }

            foreach (DirectoryInfo subDi in di.GetDirectories())
            {
                ScanDir(subDi);
            }
        }
    }
}
Avatar billede -xyz- Nybegynder
08. november 2005 - 20:52 #2
Det virkede kanon, smid et svar for points
Avatar billede nielle Nybegynder
08. november 2005 - 20:58 #3
Svar :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester