Avatar billede Slettet bruger
31. juli 2008 - 21:53 Der er 7 kommentarer og
1 løsning

Hent egenskaber af mappe + undermapper

Hej,

Er det muligt hente størrelse på en mappe plus evt undermapper og tælle antallet af filer? Lidt ligesom hvis man vælger egenskaber for en mappe i windows :)
Avatar billede arne_v Ekspert
31. juli 2008 - 22:38 #1
Til inspiration:

using System;
using System.IO;

class MainClass
{
    public static void Main(string[] args)
    {
        Console.WriteLine(TotalSize(@"C:\WINDOWS"));
    }
    public static long TotalSize(string dir)
    {
        long res = 0;
        DirectoryInfo d = new DirectoryInfo(dir);
        FileInfo[] allf = d.GetFiles();
        for (int i = 0; i < allf.Length; i++) {
            res += allf[i].Length;
        }
        DirectoryInfo[] alld = d.GetDirectories();
        for (int i = 0; i < alld.Length; i++) {
            res += TotalSize(alld[i].FullName);
        }
        return res;
    }
}
Avatar billede thesurfer Nybegynder
31. juli 2008 - 23:53 #2
@"C:\WINDOWS" er nok ikke det bedste sted at teste med.. :-)

Og så vil jeg anbefale, at funktionen afvikles i en tråd, måske med live opdatering af f.eks. en label..
Avatar billede arne_v Ekspert
01. august 2008 - 00:04 #3
Hvorfor ikke ? Der er da mange filer !

Hvis det er en windows app er en tråd nok nødvendig for ikke at blokere event tråden.
Avatar billede thesurfer Nybegynder
01. august 2008 - 00:57 #4
Yes.. det var for ikke at blokerer event tråden..

@"C:\WINDOWS" = mange filer
mange filer = lang tid (ved test)
lang tid (ved test) = kedelig, irriterende tid


Jeg ville nok først teste med et par mapper + undermapper + filer.. og derefter nogle store mapper og sammenligne med Windows' egne oplysninger..

Andet end det, er der ikke noget galt i at arbejde med @"C:\WINDOWS".


PS (jeg ved godt at det bare var "til inspiration"):

Jeg synes ikke at jeg kan se en "kill" switch, dvs., abort-funktionalitet, så kan man stoppe løkken og hoppe ud (returnerer det fundne).. denne funktionalitet kan hurtigt blive handy, hvis man har valgt en forkert mappe, hvor hele internettet tilfældigvis lå i.. :-)
Avatar billede Slettet bruger
01. august 2008 - 10:46 #5
arne_v > Tak for inspiration :) Der er noget at lege med, så det skal nok blive spændende.

thesurfer > Kill funktion var nok ikke nogen dårlig ide, da jeg fx skal hente info fra flere computer på et netværk....
Avatar billede Slettet bruger
02. august 2008 - 21:30 #6
arne > Du må gerne smide et svar :)
Avatar billede arne_v Ekspert
02. august 2008 - 21:44 #7
svar
Avatar billede Slettet bruger
03. august 2008 - 09:55 #8
Tak for hjælpen :)
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