Avatar billede bruger2004 Nybegynder
30. december 2004 - 22:51 Der er 6 kommentarer og
1 løsning

script der kan oplyse brugt diskplads på en mappe

Hej alle eksperter

jeg har et lille spørgsmål, jeg vil høre om der er nogen der kan oplyse hvordan man laver sådan script at man på en side kan se hvor meget C:\Hosting\www\domain.tld fylder... sådan at ved hvor meget ens hjemmeside fylder.

jeg er ligeglad med hvilket sprog eller kode form det er lavet i, html, asp, java eller asp.net betyder ikke noget for mig.

på forhånd tak....
Avatar billede softspot Forsker
30. december 2004 - 23:04 #1
Du skal benytte FileSystemObject (ASP og f.eks. VBScript).

Her kan finde filinformationer via File-objektet og du kan rekursivt scanne kataloger/mapper/foldere (vælg selv hvad du vil kalde dem :)) og så i hvert katalog iterere igennem alle (relevante) filer og summere størrelse af disse...

Det lyder som om du kan kode hvadsomhelst, så jeg regner ikke med at det er et problem at flikke koden sammen selv... eller hvad? Sig til hvis du skal have mere hjælp.
Avatar billede bruger2004 Nybegynder
30. december 2004 - 23:17 #2
ja jeg kan lidt inden for de sprog, men det var mere ment som at det ikke betyder noget for understøttelsen fra serveren side af.

men jeg har også fået lavet sådan jeg kan tage størrelsen på en bestemt fil, men jeg kan ikke få det til at virke på en hel mappes indhold, så lidt hjælp ville være godt :-)
Avatar billede bruger2004 Nybegynder
30. december 2004 - 23:42 #3
nej lige meget jeg har fået følgende sat sammen, men jeg kan stadig ikke få det til at virke har du nogle idéer til hvad der er galt?


<%
Dim fso, f, folderspec

folderspec = Server.Mappath("C:\Hosting\www\domain.tld")

Set fso = CreateObject("Scripting.FileSystemObject")

Set f = fso.GetFolder(folderspec)

Response.Write "<h1>Folderen: " & folderspec & "</h1>"
Response.Write "<p>Og fylder " & f.Size & " bytes"
%>
Avatar billede softspot Forsker
30. december 2004 - 23:51 #4
Hvad er resultatet af den kode du postede her til sidst?


Jeg er ikke helt sikker, men jeg ville tro at du skulle iterere igennem alle foldere manuelt for at finde det faktiske diskforbrug. Jeg ville lave en funktion der finder summen af alle filstørrelser for et givent katalog og så lade denne funktion kalde sig selv. Som herunder (bare til eksempel) i VBScript:

' Folder er et directory-objekt fra FSO'en
Function GetFolderSize(Folder)
  Dim folderSize

  folderSize = 0

  ' Iterer alle filer i folderen
  For Each file in Folder.Files
    ' under antagelse af at det er den egenskab der returnerer filens størrelse :)
    folderSize = folderSize + file.size   
  Next

  For Each subFolder in Folder.Folders
    ' Kald funktionen selv med den aktuelle undermappe...
    folderSize = folderSize + GetFolderSize(subFolder)
  Next

  GetFolderSize = folderSize
End Function


og så kan du bare kalde denne funktion med den folder du allerede har hentet...

Det kan godt være du lige skal checke navnene på objekter og egenskaber efter, men princippet burde fungere...
Avatar billede bruger2004 Nybegynder
30. december 2004 - 23:57 #5
jeg prøver mig frem til den løsning nu har jeg lidt at gå ud fra men smid et svar så får du point.
Avatar billede softspot Forsker
31. december 2004 - 00:02 #6
takker :)

Sig til hvis det ikke spiller, så kan jeg lige prøve at dykke lidt mere ned i det, OK?
Avatar billede bruger2004 Nybegynder
01. januar 2005 - 14:37 #7
ja jeg leger lidt vidre med det..... så her er point.
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