Avatar billede zombien Juniormester
25. maj 2008 - 11:36 Der er 14 kommentarer og
1 løsning

Scripting.FileSystemObject asp spørgsmål

Hej

Jeg sidder og leger lidt med Scripting.FileSystemObject
hvor jeg vil forsøge at få den til at fange filerne i en bestemt mappe
hvordan kan jeg evt. gøre dette

har prøvet denne metode

code
Dim fso, f, filespec

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

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

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

' Find og skriv egenskaberne
for each f in fso
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"
next

men det lader ikke helt til det er korrekt, den kan i hvert fald ikke finde nogle filer :-(
Avatar billede thesurfer Nybegynder
25. maj 2008 - 11:46 #1
Stien til mappen sættes her: filespec = Server.Mappath("./files")

Det betyder at den kigger i en mappe der hedder "files", der er placeret i samme mappe som selve .ASP filen, der skal hente filerne.

Er du sikker på at stien er korrekt?
Avatar billede thesurfer Nybegynder
25. maj 2008 - 11:47 #2
Ahh.. sådan:

Set f = fso.GetFolder(filespec)

GetFolder, ikke GetFile..
Avatar billede thesurfer Nybegynder
25. maj 2008 - 11:48 #3
Lad os lige prøve igen..


Dim fso, f, filespec

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

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

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

' Find og skriv egenskaberne
for each f in mappe.Files
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"
next
Avatar billede thesurfer Nybegynder
25. maj 2008 - 11:50 #4
Husk at hver gang du skriver "set ObjektNavn = noget", skal du bagefter skrive "set ObjektNavn = nothing" i omvendt rækkefølge, for at frigøre hukommelsen.

Derfor:

Dim fso, f, filespec

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

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

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

' Find og skriv egenskaberne
for each f in mappe.Files
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"
next

set mappe = nothing

set fso = nothing
Avatar billede zombien Juniormester
25. maj 2008 - 11:54 #5
i tilfælde af jeg bruger GetFile melder den ikke at kunne finde nogle filer...
men hvis jeg bruger GetFolder fanger den folderen, men der står intet omkring selve fil navnet...
Avatar billede zombien Juniormester
25. maj 2008 - 12:05 #6
sådan her ser koden ud nu

Dim fso, f, filespec

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

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

' File objektet
Set mappe = fso.GetFolder(filespec)

' Find og skriv egenskaberne
for each f in mappe.Files
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"
next

set mappe = nothing

set fso = nothing

og jeg får udskrevet dette

Filen: F:\small_stuff\array opgave\files
Blev oprettet: 25-05-2008 11:18:36

Er sidst redigeret: 10-01-2007 11:16:18

Og fylder 10201 bytes

Filen: F:\small_stuff\array opgave\files
Blev oprettet: 25-05-2008 11:18:36

Er sidst redigeret: 01-02-2007 14:53:54

Og fylder 889814 bytes


jeg mangler et filnavn :-S som den ikke lader til at ville finde
Avatar billede thesurfer Nybegynder
25. maj 2008 - 12:11 #7
Det rettes sådan:

Response.Write "<h1>Filen: " & f.Name & "</h1>"
Avatar billede zombien Juniormester
25. maj 2008 - 12:18 #8
kan det laves til en funktion???

så den skriver de forskellige værdi'er ind i et array, som man derefter kan kalde via at påkalde funktionen
Avatar billede thesurfer Nybegynder
25. maj 2008 - 12:50 #9
Arrays har intet med funktioner at gøre.


En simpel funktion laves sådan:

Function SigDetMedOrd()
SigDetMedOrd "World"
End Function

og bruges sådan her:

Response.write "Hello " & SigDetMedOrd

Så kommer der til at står: Hello World



Arrays kan oprettes enten når man dim'er, eller når man split'er.
Man kan f.eks. redimme en array med ReDim. Gør man det, sletter man dataene som arrayen indeholder. Hvis man ønsker at bevare dataene, skal man også bruge Preserve. Alt dette kan du læse om, hvis du f.eks. søger på "asp array redim".

Det med Split, er nok det nemmeste..
Eksempel:
dim a
a = split("hello!world", "!")

Nu er a blevet til en array, efter at strengen "hello!world" er blevet splittet ved "!", og plads 0 indeholder "hello", og plads 1 indeholder "world".
Avatar billede zombien Juniormester
25. maj 2008 - 13:01 #10
hvis jeg nu eks. vil have en funktion der ser sådan her ud

function GetSortedFiles(filnavn,oprettet)

end function

hvordan får jeg så værdier i de 2 punkter ud fra mit script

også jeg kan kalde den igen, så den sortere efter hvornår den seneste fil blev oprettet
Avatar billede thesurfer Nybegynder
25. maj 2008 - 13:30 #11
FSO kan ikke sortere.

Dertil skal man bruge en eller anden form for recordset.

Eksempel: http://www.roubaixinteractive.com/PlayGround/FSO/Sort_Folder_Contents.asp
Avatar billede olebole Juniormester
25. maj 2008 - 13:35 #12
<ole>

Referencen er her:
    http://msdn.microsoft.com/en-us/library/6kxy1a51(VS.85).aspx

Den indeholder også en masse gode, små eksempler i forskellige scriptsprog  ;o)

/mvh
</bole>
Avatar billede zombien Juniormester
27. maj 2008 - 09:25 #13
thesurfer < smider du ikke et svar, du har været yderst behjælpelig
Avatar billede zombien Juniormester
27. maj 2008 - 09:25 #14
og tak olebole :-)
Avatar billede thesurfer Nybegynder
27. maj 2008 - 21:18 #15
Det er lige det jeg gør :-)
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