Avatar billede spritzer Nybegynder
11. august 2005 - 10:05 Der er 15 kommentarer og
1 løsning

Størrelsen på en mappe på serveren.

Jeg skal bruge et lille stykke kode der kan fortælle mig hvor meget der ligger i en bestemt mappe på min server - altså i kilobytes. Filernes type i mappen veksler af type... ikke at jeg tror det har nogen betydning-
Avatar billede softspot Forsker
11. august 2005 - 10:11 #1
folderToCheck = Server.MapPath("/sandkassen")
set fso = Server.CreateObject("Scripting.FileSystemObject")
set fldr = fso.GetFolder(folderToCheck)
size = 0
for each fl in fldr.Files
  size = size + fl.Size
next
set fldr = nothing
set fso = nothing
Avatar billede krogstrup Nybegynder
11. august 2005 - 10:13 #2
skal filer i eventuelle undermapper medtages ?
Avatar billede busschou Praktikant
11. august 2005 - 10:19 #3
softspot >> hmm skal man tage størrelsen på mapperne individuelt, kan man ikke bare nøjes med størrelsen på den aktuelle mappe? troede egentlig den tog hele størrelsen så
Avatar billede busschou Praktikant
11. august 2005 - 10:24 #4
jeg vil mene at følgende giver det hele
--
set fso = Server.CreateObject("Scripting.FileSystemObject")
set fldr = fso.GetFolder("STI")
response.write fldr.size
Avatar billede busschou Praktikant
11. august 2005 - 10:24 #5
og det er så i byte
Avatar billede spritzer Nybegynder
11. august 2005 - 10:24 #6
Krogstrup -> Ja det skal de
Avatar billede busschou Praktikant
11. august 2005 - 10:26 #7
dvs sådan her og så er det i KB
---
set fso = Server.CreateObject("Scripting.FileSystemObject")
set fldr = fso.GetFolder("STI")
response.write fldr.size/1024 & "KB"
Avatar billede softspot Forsker
11. august 2005 - 10:27 #8
I så fald kan du bruge denne:
function folderSize(folder)
    set fso = Server.CreateObject("Scripting.FileSystemObject")
    Response.Write(folder)
    set fldr = fso.GetFolder(folder)
    size = 0
    for each fl in fldr.Files
        size = size + fl.Size
    next
    for each fld in fldr.SubFolders
        size = size + folderSize(folder & "\" & fld.Name)
    next
    set fldr = nothing
    set fso = nothing
    folderSize = size
end function

folderToCheck = Server.MapPath("/sandkassen")
size = folderSize(folderToCheck)
Avatar billede softspot Forsker
11. august 2005 - 10:28 #9
Hmm... cool nok! Man kan som busschou siger bare tage size på folder-objektet...
Avatar billede busschou Praktikant
11. august 2005 - 10:29 #10
hehe skulle også lige tjekke efter selv ;o)
Avatar billede softspot Forsker
11. august 2005 - 10:34 #11
Men det må så betyde at hvis man kun skal bruge størrelse af selve mappen (uden undermapper), så er man nød til at gennemløbe og summere størrelsen af hver enkelt fil... :)
Avatar billede busschou Praktikant
11. august 2005 - 10:37 #12
yup det må det nødvendigvis :o)

softspot >> har givet dig lidt karma for dit gode forslag ;o)
Avatar billede softspot Forsker
11. august 2005 - 10:39 #13
Du er alt for flink - takker ;)
Avatar billede spritzer Nybegynder
11. august 2005 - 10:59 #14
Jamen det virker, hvad siger i til at dele?
Avatar billede softspot Forsker
11. august 2005 - 11:16 #15
Tak for buddet, men giv dem til busschou - det var jo trods alt ham der gav den rigtige (mest optimale) løsning... :)
Avatar billede spritzer Nybegynder
24. august 2005 - 13:09 #16
takker for hjælpen så :D
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
Kurser inden for grundlæggende programmering

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