Nyeste it-job

Lektion 14: Filesystem objektet

Med dokumentationFileSystemObject kan du få adgang til serverens filsystem. Dette giver mulighed for at manipulere tekstfiler, foldere og drev fra ASP scripts.

Det vil f.eks. sige at du med at ASP script kan læse fra, eller skrive til, en tekstfil. Eller du kan få listet alle filer i en angivet folder - mulighederne er mange. Der er også gode muligheder for at bruge Filesystem objektet til at spare dig for en masse trivielt arbejde.

I denne lektion vil vi gennemgå hvordan du med Filesystem objektet kan arbejde med drev, foldere og filer. Målet er at give et hurtigt overblik over mulighederne. I de næste lektioner vil vi kigge nærmere på mere konkrete anvendelsesmuligheder.

Drev

Vi starter med at kigge på computerens drev. Ikke fordi det er det, du får mest brug for, men fordi det falder naturligt at behandle drev før foldere og filer.

I nedenstående eksempel vil vi gerne have listet alle drev på serveren. Dette gøres ved med filesystem objektet at skabe et array med drevene. Drev-bogstaverne udskrives herefter ved at løbe arrayet igennem.

<html>
<head>
<title>Filesystem objektet</title>
</head>
<body>
<%
' Variabler
Dim fso, d, dc

' Filesystem objektet
Set fso = CreateObject("Scripting.FileSystemObject")

' Array med drev
Set dc = fso.Drives

' Gennemløb array med en løkke og udskriv drevbogstav
For Each d in dc
   Response.Write d.DriveLetter & "<br>" 
Next
%>
</body>
</html>

Nu har vi fået listet alle drev på serveren. Det er endvidere muligt at hente yderligere oplysninger om hvert drev. Lad os f.eks. kigge nærmere på E-drevet, og undersøge hvilken type der er tale om. Dette har vi mulighed for med egenskaben dokumentationDriveType:

<html>
<head>
<title>Filesystem objektet</title>
</head>
<body>
<%
' Variabler
Dim fso, d, t

' Filesystem objektet
Set fso = CreateObject("Scripting.FileSystemObject")

' Objektet Drive
Set d = fso.GetDrive("E:")

' Find drevtypen og sæt betegnelse på
Select Case d.DriveType
   Case 0: t = "Unknown"
   Case 1: t = "Removable"
   Case 2: t = "Fixed"
   Case 3: t = "Network"
   Case 4: t = "CD-ROM"
   Case 5: t = "RAM Disk"
End Select
Response.Write "Drevet " & d.DriveLetter & ": er af typen " & t
%>
</body>
</html>

På nuværende tidspunkt vil vi ikke gøre mere i dybden med drev. Hvis du får behov for gennemgang af yderligere egenskaber, henvises til dokumentationDrive Objektet i VBScript dokumentationen.

Foldere

Filesystem objektet giver også mulighed for at man i ASP scripts kan arbejde med foldere - eller mapper om man vil - på serveren. Men før vi går i gang med at kigge nærmere på egenskaberne for dokumentationFolder Objektet, skal vi lige så hvordan man nemt finder den fysiske placering af en folder eller en fil.

Problemstillingen er at dit website sikkert ligger på et webhotel hos en udbyder. Dermed har du ikke umiddelbar mulighed for at regne den fysiske placering af en folder eller en fil ud. Til dette formål kan du imidlertid benytte metoden dokumentationServer.Mappath.

For at finde den fysiske placering af denne folder kan vi f.eks. skrive

<%
Response.Write Server.Mappath("/tutorials/asp/")
%>

Hvilket returnerer:

d:\www2\html\tutorials\asp

Vi befinder os altså i mappen "www2" på d-drevet hos vores udbyder - ganske smart funktion, ikke?

Lad os straks bruge oplysningen til at kigge nærmere på folderen med Filesystem objektet og Folder objektet. Vi vil ikke gennemgå alle metoderne, kun nogle udvalgte. Igen henvises til dokumentationen for en komplet listning.

dokumentationDateCreated
Returnerer dato og tid for hvornår en fil eller folder blev oprettet.
dokumentationDateLastModified
Returnerer dato og tid for hvornår en fil eller folder blev redigeret/modificeret.
dokumentationSize
For filer returneres størrelsen i bytes. For foldere returneres størrelsen i bytes af alle filer og subfoldere.

Lad os prøve at finde de tre egenskaber for den folder vi befinder os i nu - http://www.html.dk/tutorials/asp/

<html>
<head>
<title>Filesystem objektet</title>
</head>
<body>
<%
' Variabler
Dim fso, f, folderspec

' Find den fysiske placering af folderen
folderspec = Server.Mappath("/tutorials/asp/")

' FileSystem objektet
Set fso = CreateObject("Scripting.FileSystemObject")

' Folder objektet
Set f = fso.GetFolder(folderspec)

' Find og skriv egenskaberne
Response.Write "<h1>Folderen: " & folderspec & "</h1>"
Response.Write "<p>Blev oprettet: " & f.DateCreated
Response.Write "<p>Er sidst redigeret: " & f.DateLastModified
Response.Write "<p>Og fylder " & f.Size & " bytes"
%>
</body>
</html>

Filer

På samme måde som med foldere, kan man benytte FileSystem objektet, til at finde egenskaber for en fil.

På præcis samme måde som ovenfor kan vi finde de samme egesnakber for den fil du ser på nu: http://www.html.dk/tutorials/asp/lektion14.asp

<html>
<head>
<title>Filesystem objektet</title>
</head>
<body>
<%
' Variabler
Dim fso, f, filespec

' Find den fysiske placering af folderen
filespec = Server.Mappath("/tutorials/asp/lektion14.asp")

' FileSystem objektet
Set fso = CreateObject("Scripting.FileSystemObject")

' File objektet
Set f = fso.GetFile(filespec)

' Find og skriv egenskaberne
Response.Write "<h1>Filen: " & filespec & "</h1>"
Response.Write "<p>Blev oprettet: " & f.DateCreated
Response.Write "<p>Er sidst redigeret: " & f.DateLastModified
Response.Write "<p>Og fylder " & f.Size & " bytes"
%>
</body>
</html>

I de næste lektioner vil vi arbejde videre med Filesystem objektet, og blandt andet se på hvordan du læser fra og skriver til en tekstfil.


Nyhedsbrev
Tilmeld dig HTML.dk's nyhedsbrev


Er du jobsøgende?

 Ja
 Nej
Se det foreløbige resultat når du har stemt!


Se tidligere afstemninger

 Community
Brugernavn

Adgangskode

Husk

 *  Bliv medlem her
 *  Glemt password?


Om HTML.dk | Oplysninger om ophavsret | Politik om persondata | Annoncer på HTML.dk | RSS

Valid XHTML 1.1! Valid CSS! Powered by Scannet