Avatar billede ducks Nybegynder
22. februar 2003 - 01:03 Der er 1 kommentar og
1 løsning

List filer i sortering

Når man bruger FileSystemObject til at liste filer der er i en mappe, så ser man dem i en ret tilfældig rækkefølge, hvordan gør man noget ved det og rigtig meget gerne noget kode til det :)

Jeg bruger den her til at liste dem med:

<%
Dim fso, f, f1, fc, s
Set fso = CreateObject("Scripting.FileSystemObject")

strFolderName = Server.MapPath("Mappe/")

Set f = fso.GetFolder(strFolderName)
Set fc = f.Files

Response.Write "<table cellspacing='0' cellpadding='0'>" & vbCrLf
For Each f1 in fc
  If InStr(1, f1.name, "Fil1") > 0 or InStr(1, f1.name, "Fil2") > 0 Then
    Response.Write "<tr>" & vbCrLf
    Response.write "<td><a href='Mappe/" & f1.name &"'>"& f1.name &"</a></td>" & vbCrLf
    Response.Write "</tr>" & vbCrLf
  End If
Next
Response.Write "</table>" & vbCrLf
%>
Avatar billede eagleeye Praktikant
22. februar 2003 - 01:06 #1
Det kan man ikke direkte det skal man kode sig ud af, her er et eks på sådan en kode:
http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=118
Avatar billede eagleeye Praktikant
22. februar 2003 - 01:08 #2
Eller dette eks som bruger et recordset og sortere på den måde:


<%
Dim objFSO, objFolder, objRS, Path, subPath

subPath = "test"
Path = Server.MapPath("/"&subPath)

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Path)
Set objRS = Server.CreateObject("ADODB.Recordset")

objRS.Fields.Append "Name", adVarChar, 20
objRS.Fields.Append "Size", adInteger, 6
objRS.Fields.Append "DateLastmodified", adDate, 9
objRS.Open

For Each file in objFolder.Files
objRS.Addnew
objRS("Name") = file.Name
objRS("Size") = file.Size
objRS("DateLastmodified") = file.DateLastModified
objRS.Update 
Next

Function Pad (str, numChars)
  str = str & Space(numChars)
  Pad = Left(str, numChars)
End Function

objRS.Sort = "Name ASC, Size, DateLastmodified"
' Displays the recordset
s = ""
objRS.MoveFirst
while Not objRS.EOF
  for each fld in objRS.Fields
      s = s &"<td>"& Pad(objRS.Fields(fld.Name), 18)&"</td>"
  next
  s = s & "</tr>"
  objRS.MoveNext
wend

Response.Write s

%>
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