Bueno, el ejemplo. Puede tener errores porque lo tuve que editar para quitarle HTML innecesario, pero es la idea:
Código:
<%
CONST adFldIsNullable = &H00000020
CONST adVarChar = 200
CONST adInteger = 3
CONST adDate = 7
CONST adOpenDynamic = 2
CONST adUseClient = 3
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set folder = fso.getFolder(Server.MapPath("carpeta"))
Set rs = Server.CreateObject("ADODB.Recordset")
With rs
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.Fields.Append "Nombre", adVarChar, 255, adFldIsNullable
.Fields.Append "Extension", adVarChar, 255, adFldIsNullable
.Fields.Append "Peso", adInteger, 255, adFldIsNullable
.Fields.Append "Modificado", adDate, 32, adFldIsNullable
.Fields.Append "RutaArchivo", adVarChar, 255, adFldIsNullable
.open
for each file in folder.Files
Archivo = file.Name
arrArchivo = Split(Archivo, ".")
Extension = arrArchivo(UBound(arrArchivo))
Peso = file.Size
.AddNew
.Fields("Nombre") = file.Name
.Fields("Extension") = Extension
.Fields("Peso") = Peso
.Fields("Modificado") = file.dateLastModified
.Fields("RutaArchivo") = file.Path
.update
next
Orden = Request.QueryString("Orden")
Select CASE Orden
Case "" OrdenarPor = "Nombre ASC"
Case "NomA" OrdenarPor = "Nombre ASC"
Case "NomD" OrdenarPor = "Nombre DESC"
Case "TamA" OrdenarPor = "Peso ASC"
Case "TamD" OrdenarPor = "Peso DESC"
Case "ExtA" OrdenarPor = "Extension ASC"
Case "ExtD" OrdenarPor = "Extension DESC"
Case "ModA" OrdenarPor = "Modificado ASC"
Case "ModD" OrdenarPor = "Modificado DESC"
Case Else OrdenarPor = "Nombre ASC"
End Select
.Sort = OrdenarPor
.MoveFirst
do while not .eof
' acá recorrés el recordset volátil y creás el html necesario....
.Movenext
loop
.close
End With
Set rs = nothing
Set folder = nothing
Set fso = nothing
%>
Lo que hago es leer los archivos de una carpeta y colocar en un récordset cada atributo de estos, para poder ordenarlos de manera más fáciil que por el método de la burbuja (y más efectivo, puesto que ese algoritmo o método siempre ordena de manera textual, fechas incluidas)