Durchsuchen !



  • Keiner hier ?

    Bitte helft mir doch ich bin am Verzweifeln !

    Greez > Peter Neuhoff



  • ohne anspruch auf richtigkeit.. so durchsucht er einen ordner "arbeit", der im gleichen ordner mit drin liegt, wie die cs datei:

    using System;
    using System.IO; 
    
    class MainClass
    { 
    
        public static void Main(string[] args)
        {
    
                    DirectoryInfo d = new DirectoryInfo ("arbeit" ) ;
                    FileInfo [ ] f = d.GetFiles ( ) ;
                    int n = 0 ;
    
                    foreach ( FileInfo i in f )
                    {
    
                        string str = i.Extension ;
                        if ( str == ".doc" || str == ".jpg" || str == ".gif" )
                        {
    
                        Console.WriteLine( i.Name,n ) ;
                            n++ ;
                        }
                    }
        }
    }
    


  • Danke das funktioniert echt super !

    Hast du vielleicht auch noch einen Code mit dem ich alle Unterverzeichtnisse durchgehen kann ?

    THANKZ Peter Neuhoff



  • *frecher* *grins*

    das schreibt aber StefanVo schon oben.. das kriegst du selber hin 😉

    ps: microsoft ist dein freund http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemiodirectoryinfoclassgetfilesysteminfostopic.asp



  • Original erstellt von StefanVo:
    **new System.IO.DirectoryInfo(@"C:\bla");
    **

    Hi,
    was heißt es, wenn man eine "@" vor einem String hat?



  • stellt das "\" als steuerzeichen ab

    entweder:

    "c:\\ordner\\datei.suffix"

    oder
    @"c:\ordner\datei.suffix"



  • danke !



  • Sorry ich pake das nicht 😞 !

    Also mit folgendem Code* schaffe ich es EIN ORDNER zu durchsuchen und mir die Dateien die mit .doc enden per MessageBox ausgeben zu lassen - aber ich komme einfach nicht dahinter wie ich das mit Unterverzeichnissen machen kann ? 🙄

    DirectoryInfo DI = new DirectoryInfo ("C:\\Upload" ) ;
            FileInfo [ ] FI = DI.GetFiles ( ) ;
    
            foreach ( FileInfo i in FI )
            {
    
              string str = i.Extension ;
              if ( str == ".doc" )
                 {
                         MessageBox.Show(i.FullName) ;
                 }
            }
    

    Bitte helft mir mit der Erweiterung um Unterverzeichnisse 😕 ,
    Grüße Peter



  • Hi !

    Hier ist mal ein Sample Code.
    Solltest Du das nicht verstehen, such einfach mal bei Google, nach Rekursiven Funktionaufrufen.

    Gruß

    Stefan

    //Startverzeichnis
    System.IO.DirectoryInfo DirInfo = new System.IO.DirectoryInfo(@"C:\"); 
    
    //Erster Aufruf der Funktion GetDir
    GetDir(DirInfo);
    
    private void GetDir(System.IO.DirectoryInfo DirInf)
    {
       //Wenn im Verzeichniss Dateien sind Funktion ListFiles aufrufen
       if (DirInf.GetFiles().Length >0)
       {
         ListFiles(DirInf);
       }
       foreach(System.IO.DirectoryInfo DI in DirInf.GetDirectories())
       {
         //rekursiver Aufruf der Funktion GetDir
         //somit werden alle Unterverzeichnisse durchsucht
         GetDir(DI);
       }
    }
    
    private void ListFiles(System.IO.DirectoryInfo DirInf)
    {
        System.IO.FileInfo[] FileInfoObject = DirInf.GetFiles();
        foreach(System.IO.FileInfo fi in FileInfoObject)
        {
            string str = fi.Extension ;
        if ( str == ".doc" )
        {
            Console.WriteLine(fi.Name);
        }
        }
    }
    


  • Doch,
    so habe ich das verstanden ... hat auch super funktioniert !

    Danke...

    MfG DA Peter Neuhoff


Anmelden zum Antworten